所报异常:
org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.IllegalAccessException: Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers "public
acion中:
public class SubjectAction extends ActionSupport {
private String subjectName;
private BaseService baseService;
private AddResult result = new AddResult();
public String addSubject(){
UserInfo u = (UserInfo)ActionContext.getContext().getSession().get("user");
if(u == null){
result.setType((byte)0);
result.setNote("session超时,请重新登陆");
return "time_out";
}
School school = u.getUserType().getSchool();
try{
short subjectId = baseService.addSubject(school,subjectName);
result.setType((byte)1);
result.setId((int)subjectId);
result.setNote("科目添加成功");
}catch(RuntimeException re){
result.setType((byte)2);
result.setNote("科目添加失败");
return "fail";
}
return "suc";
}
public String getSubjectName() {
return subjectName;
}
public void setSubjectName(String subjectName) {
this.subjectName = subjectName;
}
public BaseService getBaseService() {
return baseService;
}
public void setBaseService(BaseService baseService) {
this.baseService = baseService;
}
public AddResult getResult() {
return result;
}
public void setResult(AddResult result) {
this.result = result;
}
}
解决办法:
action中的service是spring注入的所以只需要set方法就行,去掉get方法。
总结:
需要返回什么数据就生成该字段对应的get方法。