楼主 必须 out.print(list);
而且必须将函数改成public void list()
而且必须将函数改成public void list()
解决方案 »
- 请教tomcat404的问题,奇怪,请教高手!
- Sonatype Nexus配置完代理服务器以后,本地Index数据缺失问题,请教大牛!
- glassfish不能用.......
- struts2开发 SiteMesh 与struts2 标签问题
- 关于两个tomcat的环境变量的设置
- 如何取得163邮箱通讯录的所有联系人的列表(sid怎样取得),请关注
- hibernate,spring ,struts是如何解析自己的xml文档的
- 高分求助关于struts2+Spring的jar包问题
- 请问struts里的如何初使化页面,知道的朋友帮忙回答一下,谢谢!
- 关于RMI的服务注册问题!
- Excel导入如何判断换行!
- 页面权限跳转?
这是struts。不能像你说的那样该的吧?
<package name="admin" extends="json-default" namespace="/admin">
<action name="userAction" class="com.ssh.action.admin.UserAction">
<result name="list" type="json"/>
</action>
</package>
嗯,有值的那个是我在后台system.out.println();得到的。那个null值的就前台网页的结果。
之所以出现在后头SYSTEM.OUT.PRINTLN(jsonString )数据正确,但是前提的JSON结果却是NULL,原因在于,我的ACTION使用的是Model-Driven ,也就是:
public class UserAction extends ActionSupport implements ModelDriven<UserActionDAO>{}我的解决办法是不使用Model-Driven,改为使用Field-Driven之后,问题就解决了。后头打印没有问题,前提获得的JSON结果也没有问题了。我之所以发现这个问题是用了排查法不断的测试得出的结果,所以还是很希望知道原因,并且如果使用Model-Driven,该怎么处理。所以,我不明白为什么使用Model-Driven会出现NULL的结果,哪位高手要是知道,还望不吝赐教哈~
原因在于我原先写成private UserActionDAO uad = new UserActionDAO() ;关键是这个地方不能先new。
而后改成:private UserActionDAO uad;
这样问题就能彻底解决了,我的action还是照样使用ModelDriven下面公布一下我的list的写法。 public String list() {
users = us.allList();
totalProperty = users.size();
root = new ArrayList<UserActionDAO>();
for(int i=0; i<users.size(); i++){
uad = new UserActionDAO();
uad.setId(users.get(i).getId());
uad.setUsername(users.get(i).getUsername());
uad.setPassword(users.get(i).getPassword());
uad.setPassword2(users.get(i).getPassword());
root.add(uad);
} JSONArray jsonArray = JSONArray.fromObject(root);
this.jsonString = "{totalCount:"+this.getTotalProperty()+",results:"+jsonArray.toString()+"}";
System.out.println(jsonString);
return "list";
}