当前位置: 代码迷 >> Web前端 >> 用strtus 在页面没显示出值
  详细解决方案

用strtus 在页面没显示出值

热度:47   发布时间:2012-09-03 09:48:39.0
用strtus 在页面没有显示出值
<s:iterator value="cyry" var="cy">
  <tr>	
         <td><s:property value="xm" /></td>
	<td>
        <s:if test="%{xb == 1}">男</s:if>
	    <s:elseif test="%{xb == 2}">女</s:elseif>
	</td>						
    <td><s:property value="jbxxnl"/></td>			
    <td><s:property value="gmsfhm"/></td>
    <td><s:property value="zz"/></td>
  </tr>
</s:iterator>

cyry 是一个List集合...   在页面显示没有任何数据 但是进行了循环  说明List中有对象 但是没有办法获取..
最终发现是因为 直接使用的SQL语句查询  用的是Hibernate的Session
Session session = this.getSession();
		String sql;
		switch(Integer.parseInt(ghlb)){
		case Constant.LDDZB:
			sql = "select * from ga_lcrkjbzl l where l.lcrksxh in (select ld.lcrksxh from ga_lcrkdtxx ld where ld.jrlddzbqk = ?)";
			break;
		case Constant.SH:
			sql = "select * from ga_lcrkjbzl l where l.lcrksxh in (select ld.lcrksxh from ga_lcrkdtxx ld where ld.jrshqk = ?)";
			break;
		case Constant.TXH:
			sql = "select * from ga_lcrkjbzl l where l.lcrksxh in (select ld.lcrksxh from ga_lcrkdtxx ld where ld.jrlxhqk = ?)";
			break;
		case Constant.XH:
			sql = "select * from ga_lcrkjbzl l where l.lcrksxh in (select ld.lcrksxh from ga_lcrkdtxx ld where ld.jrxhqk = ?)";
			break;
		default:
			sql = "";
			break;
		}
		return session.createSQLQuery(sql).addEntity(Lcrkjbzl.class).setParameter(0, id).list();

session.createSQLQuery(sql).addEntity(Lcrkjbzl.class).setParameter(0, id).list();
后来发现可能是无法识别数据.. 因为没有与任何对象关联上.  加上了
addEntity(Lcrkjbzl.class) ..使数据与对象关联上.  最终页面能正常显示数据
因为没有使用泛型 所以struts iterator标签的var属性也没有派上用场.
  相关解决方案