因为一时兴起,写前端有写后端的交互,非常累,又无聊。所以想把他们封装起来
于是,后端写了一个json类(和我的逻辑处理相适应,无非是 有没有错误,错误信息是什么,内容list是什么),方便的转成json(因为手写老是写错。。。)---下一篇在详解,这篇想吐槽
package action; /* * 此类为封转 json的消息 有 error 有 message 有list消息 * * 把复杂的 json 写操作 整合到这个类当中 * *缺点: 不过独立 还是依赖于 对象的 tojson的方法 * * */ public class JsonMessage { private int error =0; private String message ; private StringBuffer list ; JsonMessage() { list= new StringBuffer(); } //相应的get set的方法 @Override public String toString() { return "JsonMessage [error=" + error + ", message=" + message + ", list=" + list + "]"; } public int getError() { return error; } public void setError(int error) { this.error = error; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public StringBuffer getList() { return list; } public void addList(String list) { this.list.append(list); } //将这些属性 以json字符串的形式返回去 public String getJosn() { String liststr = list.toString(); if(liststr.lastIndexOf(",")== (liststr.length()-1)) //取出最后一个,号 { liststr = liststr.substring(0,liststr.length()-1); } String str = "{ \"error\":\""+error+"\",\"message\":\""+this.message+"\",\"list\":["+liststr+"]}"; return str; } }
前台也写个通用 js模版 跟后台通信
//进行必要的格式验证 与获取值 function check() { //取值 然后进行必要的格式验证 } function main() //想把它拆分出来 { alert("开始运行"); //首先开始页面传值 $.ajaxFileUpload ( { url: 'http://127.0.0.1:8080/market2/imgs/b', //用于文件上传的服务器端请求地址 secureuri: false, //是否需要安全协议,一般设置为false fileElementId: 'img', //文件上传域的ID datatype:"json", success: function (data, status) //服务器成功响应处理函数 { alert(data.error); }, error: function (data, status, e)//服务器响应失败处理函数 { alert(e); } } ) return false; } function showStr( list) //此处为定义遍历的规则 { //进行是否为空判断 //进行遍历 按照某种格式 var str =""; //用来保存结果 for(var i=0;i<list.length;i++) { str= str+ "<li>"+ "<a href=\"productDetails.jsp?Gid="+list[i].Gid+"\">"+ "<img src=\""+list[i].Gimg+"\">"+ "<span>"+list[i].Gname+"</span>"+ "<span class=\"price\">¥"+list[i].Gprice+" <s>$"+list[i].Gprice1+"</s></span>"+ "</a>"+ "</li>"; } return str; } function waring(message) //此函数为 提示函数 错误操作 会放到这里进行输出 { alert(message); }
于是乎 一个交互 只要一个 js文件 改一下 麻麻再也不用担心我的 交互不会写了
但文本的搞定了 我又在弄文件的上传的
结果 F*U* 各种问题 【水文】
总结一下: 1.struts2 忘记了 file 第二个 一定是 file+FileName
2.忘记ajaxfileupload 是要用 id 来 指定传那个 文件。