JAVA WEB 前台后台交互
来源:互联网 发布:中兴沈阳软件产业园 编辑:程序博客网 时间:2024/06/05 04:26
前台ajax或者form提交并调用后台方法,在controller中写后台方法,将前台提交的数据做处理,并且return一个值,或者把值传回jsp页面.其中controller调用service,并在serviceImpl中写实现类,实现类中可以把sql写在dao里。
在这一周的时间里,弄明白了前台如何往后台提交数据,后台如何往前台返回值,下面是我的一些总结。
一、前台提交数据
1、form提交
form提交方式比较传统,是大多java Web教程里的方法。
html:
<form action='' method='post' id='A010101form'>
<label><input type='checkbox' name='test' value='厕所梗'><span>厕所梗</span></label>
<input type="submit" onclick="javascript:save();"/>
<input type="test" value="<%=test%>" />
</form>
value 属性为 input 元素设定值。
对于不同的输入类型,value 属性的用法也不同:
- type="button", "reset", "submit" - 定义按钮上的显示的文本
- type="text", "password", "hidden" - 定义输入字段的初始值
- type="checkbox", "radio", "image" - 定义与输入相关联的值
注释:<input type="checkbox"> 和 <input type="radio"> 中必须设置 value 属性。
注释:value 属性无法与 <input type="file"> 一同使用。
js:
function save(){
document.form[0].action="<%=webapp%>/test/save.act";
//两种获取form的方式
$("#A010101form").submit();
}
在jsp页面html上面要加上
<%
String webapp = request.getContextPath();
String test = request.getAttribut("test");
%>
用来获取提交地址的根目录
2、ajax提交
JS:
function save(){
var pars=$("#A010101form").find("span").test();
var jj='';
var url="<%=webapp%>/test/save.act?pars="+pars"&jj="+jj;//提交2个参数用&连接
ajaxRequest(url,doResponse,showFail);
}
//回调函数,param为后台返回的参数
function doResponse(param){
if(param==null){
alert("有问题");
return;
}
//url写错了会报这个
function showFail(){
alert("系统发生变异!");
}
//异步提交
function ajaxRequest(rurl,onCompleteFun,onFailureFun,params,asynFlag){var async = true;var param = "";if(params != undefined){param = params;}if (asynFlag!= undefined){if ((asynFlag==false) || (asynFlag=="false")){async = false;}else{async = true;}}jQuery.ajax({async: async,type: "POST",url: rurl,contentType: "application/x-www-form-urlencoded;charset=UTF-8",data: param,dataType:'json',beforeSend: function(xhr) {xhr.setRequestHeader("__REQUEST_TYPE", "AJAX_REQUEST");},success: eval(onCompleteFun),error: eval(onFailureFun)});}
二、后台接受前台提交的参数
1、form方式
public class A010101Form{
private String test;
//myeclipse soursce getters and setters 可自动生成
public String test() {
return test;}public void test(String test) {this.test = test;}}
@RequestMapping("/a010101")public class A010101Controller {
@Resource
private A010101Service A010101Service;@RequestMapping("/save")public String save(HttpServletRequest request,A010101Form form) throws Exception{List list = A010101Service.save(form);//后台处理
request.setAttribute("list",list);return "/test/A010101List";//返回数据}}
@Service("A010101Service")
public interface A010101Service {
public List save(A010101Form form) throws Exception;
}
//实现类
public class A010101ServiceImpl implements A010101Service{private static final String String = null;@Resourceprivate A010101Dao A010101dao;
@Override
public List save(A010101Form form) throws Exception {return A010101Dao.save(this.getRequest(),form);}}
@Repository("/A010101Dao")public class A010101Dao {
public save(HttpServletRequest request,A010101Form form){
String test = form.getTest();
String userid = Comquery.getUserId(request);
StringBuffer sql = new StringBuffer;
sql.append("select * from data_test where test = ' " +test+ " and userid = ' " +userid + " ") ;
this.executeUpdate(sql);
}
}
2、ajax提交
@RequestMapping("/a010101")public class A010101Controller {@Resourceprivate A010101Service A010101Service;@RequestMapping("/save")//ajax必须加这个,而且ajax不能用void,因为void不需要return不合理@ResponseBodypublic String save(HttpServletRequest request,String test,String jj) throws Exception{return A010101Service.save(test,jj);//ajax只能返回值不能返回页面}}
以上便是前后台交互的大体过程,其中细节还需要再研究。大体轮廓便是这样了
紧张时放松自己,烦恼时安慰自己,开心时别忘了祝福自己!
- JAVA WEB 前台后台交互
- 3、web(js):js前台与后台数据交互-前台调后台
- 前台与后台数据交互
- js前台与后台数据交互-前台调后台
- js前台与后台数据交互-前台调后台
- js前台与后台数据交互-前台调后台
- java web后台数据传入前台javascript处理
- Java Web中前台与后台传递参数小结
- web后台交互定时器
- struts2前台与后台参数的交互,jsp到java,java到jsp,java到javascript
- WEB开发、前台后台概念
- 解决 前台与后台数据交互问题
- C#前台后台代码的交互
- C#前台JS和后台交互问题
- 前台后台的的json数据交互
- 前台与后台数据交互问题
- ios 前台和后台交互问题
- ajax前台与后台的数据交互
- AnimatorDurationTile
- Adapter的继承结构
- Android中Bitmap
- XML encoding list
- 激活函数
- JAVA WEB 前台后台交互
- 项目解耦必备-EventBus3.0的简单讲解
- Rxjava之旅-入门篇
- 1001_北大oj题目理解学习
- Java的类型转换问题
- php支付宝接口的开发
- Android性能测试
- hyperledger fabric 结构分析(三)
- Spring 框架AOP