private List<String> list = new ArrayList<String>();
public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out = null;
try {
request.setCharacterEncoding("utf-8");
out = response.getWriter();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0;i<10;i++)
{
list.add(i,""+i);
}
System.out.println(list);
out.print(list.toString());
out.flush();
out.close();
return null;
}
这一段代码是struts1,定义了一个list私有变量,在前台利用jquery异步提交action时,这个list会被重复使用,原有list内的值不会被清除。
private List<String> list = new ArrayList<String>();
public String execute() throws Exception
{
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=gb2312");
PrintWriter out = null;
try {
request.setCharacterEncoding("utf-8");
out = response.getWriter();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0;i<10;i++)
{
list.add(i,""+i);
}
System.out.println(list);
out.print(list.toString());
out.flush();
out.close();
return null;
}
这段代码是struts2框架下的action代码。定义的私有变量list不会被重复使用,list内已经添加的值在重复提交action时会被清楚。