首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

急求好手,使用ssh框架写项目时,就是先执行action,数据查到了,不能显示在页面上

2013-12-17 
急求高手,使用ssh框架写项目时,就是先执行action,数据查到了,不能显示在页面上s:action nameselInfoAll

急求高手,使用ssh框架写项目时,就是先执行action,数据查到了,不能显示在页面上

<s:action name="selInfoAll" namespace="/" executeResult="true"></s:action>

这句话应该是执行了,SQL语句都打印了,可是在当前页面
<div>
  <s:iterator value="%{list}" id="li" status="st">
  <s:textfield value="%{#li.getT_email()}"></s:textfield>
  </s:iterator>
  </div>

查询时,没有结果
[解决办法]
这个要看你action中是把值放到栈中还是map映射中了。能贴一下你action中存放数据的代码莫
比如:
   放在map映射中:
Collection<Station> lists = this.stationService.findAllStation();
ActionContext.getContext().put("list", list);
获取的时候
<s:iterator value="list" id="li" status="st">
     <s:textfield value="%{#li.getT_email()}">
</s:textfield></s:iterator>

   放在值栈中:
Collection<Station> lists = this.stationService.findAllStation();
ActionContext.getContext().getValueStack().getRoot().push(list);
获取的时候
<s:iterator value="top" id="li" status="st">
     <s:textfield value="%{#li.getT_email()}">
</s:textfield></s:iterator>

你那种获取方式也没问题,就是有点不规范,应该是action存放值的时候出现了问题
[解决办法]

<div>
          <s:iterator value="%{list}" id="li" status="st">
              <s:textfield value="%{#li.getT_email()}"></s:textfield>
          </s:iterator>
      </div>

这个代码段value="%{list}"虽然可以这么写,但是没有意义,直接value="list" 下面既然是textfield不是property为什么把值放在value里面,本来用#就是取堆栈的值,后面还要加get方法做什么,如果你后台list里面的pojo里面有get方法,直接<s:textfield name="t_email"></s:textfield> 改了之后就行了

热点排行