java程序中前后台交互的两种实现方式以及页面之间的跳转
2016-12-19 19:08
701 查看
虽然现在市面上很流行前后端分离,但是在很多企业中还是使用的是SSH框架,前后端不分离。
那么此类前后端有其自身独特的前后台交互的方式,但是也支持js/jquery。下面对这两种方式做一下归纳。
此段代码是用来上传图片的,所以定义enctype=”multipart/form-data”。
如果使用的是struts2标签的form,请记得加上action所对应的namespace,否则提交不到对应的action中,使用普通的form标签就不存在指定namespace的问题。
因为是通过超链接带参数跳转到这个页面的,所以用<% %>获取传来的参数,然后< s:set>设置值,以备后面取用。后面两个hidden就是从此处取值。
form中标签的name属性名对应action的成员变量,成员变量应设置setter/getter方法已获取此处传过去的数据。
如果action在struts.xml中设置为 < result name=”success” type=”json” > < / result> 那么data就可以取到其返回的值。具体方法可以在浏览器中输入对应的url,回车之后页面就会显示其返回的json数据。
跳转到制定页面(地球人都知道)。
href中指定要跳转的页面及携带的参数,至于在跳转页面怎么获取参数,此文上面部分有代码,请参考之。注意href中多参数的拼接方式,与url中有所不同。
如果没有逻辑要处理的话,选择href的方式进行页面之间的跳转来的更加灵活。
那么此类前后端有其自身独特的前后台交互的方式,但是也支持js/jquery。下面对这两种方式做一下归纳。
前后端交互
1 通过action表单提交
<% String abc = request.getParameter("abcno"); String rateid =request.getParameter("rateid"); %> <s:set name="abc"><%=abc%> </s:set> <s:set name="rateid"><%=rateid %></s:set> <s:form action="uploadAction.action" enctype="multipart/form-data" method="post" namespace="/html/abc"> <s:hidden name="abcno" id="abcno" value="%{abc}"></s:hidden> <s:hidden name="rateid" id="rateid" value="%{rateid}"></s:hidden> <span id="files"> <s:file name="upload" label="选择附件" /> <p/> </span> <!-- <s:checkbox name="type" value="true" lable="示意图" fieldValue="0"></s:checkbox> <s:checkbox name="type" value="false" lable="照片" fieldValue="1"></s:checkbox> --> <s:radio list="%{#{'0':'示意图','1':'照片'}}" theme="simple" name="type"></s:radio> <s:submit value="上传" style="width:100px" /> </s:form>
此段代码是用来上传图片的,所以定义enctype=”multipart/form-data”。
如果使用的是struts2标签的form,请记得加上action所对应的namespace,否则提交不到对应的action中,使用普通的form标签就不存在指定namespace的问题。
因为是通过超链接带参数跳转到这个页面的,所以用<% %>获取传来的参数,然后< s:set>设置值,以备后面取用。后面两个hidden就是从此处取值。
form中标签的name属性名对应action的成员变量,成员变量应设置setter/getter方法已获取此处传过去的数据。
2.通过jquery的ajax与后台交互
function delPicFunc(filepath,rateid,abcno){ console.log("filepath:"+filepath+",rateid="+rateid+",nrcno:"+nrcno); var delUrl ="http://localhost:8080/xxx/delPicACtion.action?inputPath="+filepath+"&rateid="+rateid+"&abcno="+abcno; var encodeUrl = encodeURI(delUrl); //对url进行编码,否则中文作为参数传过去就可能出问题 console.log(encodeUrl); $.getJSON(encodeUrl, function(data){ alert("删除成功!"); reflesh(); }); }
如果action在struts.xml中设置为 < result name=”success” type=”json” > < / result> 那么data就可以取到其返回的值。具体方法可以在浏览器中输入对应的url,回车之后页面就会显示其返回的json数据。
页面之间的跳转:
1,通过action在struts.xml中的配置
< result name="success" > /sss/aaa/bbb.jsp < /result>
跳转到制定页面(地球人都知道)。
2,通过href 跳转
<a href="pages/abcUploadPic.jsp?abcno=<s:property value='abcorderno'/>&rateid=<s:property value='rateid'/>" id="upload" >附件 上传/下载</a>
href中指定要跳转的页面及携带的参数,至于在跳转页面怎么获取参数,此文上面部分有代码,请参考之。注意href中多参数的拼接方式,与url中有所不同。
如果没有逻辑要处理的话,选择href的方式进行页面之间的跳转来的更加灵活。
相关文章推荐
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- JAVA-两种后台页面跳转方式
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java后台和Jsp跳转页面的两种方法以及它们的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java程序操作Oracle两种方式之简单实现
- java springMVC jsp页面时间规范显示、页面无缓存、session读写以及后台增加跳转集锦
- web项目中实现页面跳转的两种方式
- javascript实现页面跳转的两种方式