您的位置:首页 > 编程语言 > Java开发

java程序中前后台交互的两种实现方式以及页面之间的跳转

2016-12-19 19:08 701 查看
虽然现在市面上很流行前后端分离,但是在很多企业中还是使用的是SSH框架,前后端不分离。

那么此类前后端有其自身独特的前后台交互的方式,但是也支持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的方式进行页面之间的跳转来的更加灵活。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: