因为一时兴起,写前端有写后端的交互,非常累,又无聊。所以想把他们封装起来
于是,后端写了一个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 来 指定传那个 文件。