概述
Struts2 action中不要将方法以get开头
Struts2 action中不要将方法以get开头
Struts2 action中不要将方法以get开头
重要的事情说三遍!今天调试jquery发送请求到action中我写的三个方法回一次执行。审查代码一点问题都没有
我写的代码如下:
/**
*
*/
package com.artpri.artist.action;
import java.util.List;
import com.opensymphony.xwork2.Action;
/**
*
* @author 王校兵
* @version 1.0, 2016年4月6日
*/
public class GetQueryAlbumPhotoAction extends BaseAction {
private List photoList;// 照片的查询结果集合
private String queryTime;// 要查询照片的拍摄时间条件
private String queryCategory;// 要查询的年代条件
private String queryTitle;// 要查询的标题条件
/**
* 通过相册分类查询相册照片action方法
* @return 页面跳转对应的逻辑代码
* */
public String getPhotoByCategory() {
System.out.println("getPhotoByCategory-------------------------------" + queryCategory);
photoList = getAlbumPhotoMangeService().getPhotoByCategory(queryCategory);
return Action.SUCCESS;
}
/**
* 通过拍摄时间查询相册照片action方法
* @return 页面跳转对应的逻辑代码
* */
public String getPhotoByTime() {
System.out.println("getPhotoByTime-------------------------------" + queryTime);
photoList = getAlbumPhotoMangeService().getPhotoByTime(queryTime);
return Action.SUCCESS;
}
/**
* 通过照片标题查询相册照片action方法
* @return 页面跳转对应的逻辑代码
* */
public String getPhotoByTitle() {
System.out.println("getPhotoByTitle-------------------------------" + queryTitle);
photoList = getAlbumPhotoMangeService().getPhotoByTitle(queryTitle);
return Action.SUCCESS;
}
public List getPhotoList() {
return photoList;
}
public String getQueryCategory() {
return queryCategory;
}
public String getQueryTime() {
return queryTime;
}
public String getQueryTitle() {
return queryTitle;
}
public void setPhotoList(List photoList) {
this.photoList = photoList;
}
public void setQueryCategory(String queryCategory) {
this.queryCategory = queryCategory;
}
public void setQueryTime(String queryTime) {
this.queryTime = queryTime;
}
public void setQueryTitle(String queryTitle) {
this.queryTitle = queryTitle;
}
}
他们会依次执行。因为action中 ajax模式下,调用的action方法不能为get*方式命名,内中机理未知。
于是就把get开头的方法修改了一下,程序就运行正常了,继续找了下原因,最后基本上明白。 个人认为,出现这个问题的原因是因为,action中属性都是以get set方式设置的,这样strut2才能根据反射进行设置,但是当action结束的时候, 就会调用相应的get方法取值,所以导致get开头的method执行了两次。
所以
Struts2 action中不要将方法以get开头
最后
以上就是平常楼房为你收集整理的Struts2 action中不要将方法以get开头!!!的全部内容,希望文章能够帮你解决Struts2 action中不要将方法以get开头!!!所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复