houseInfo.jsp
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<link type="text/css" rel="stylesheet" href="css/houseInfo.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/houseInfo.js"></script>
</head>
<body>
<table border="1">
<tr>
<th>名称</th><th>业主</th><th>区域</th><th>地址</th><th>装修</th><th>楼层</th><th>户型</th><th>价格</th><th>朝向</th><th>面积</th><th>备注</th>
</tr>
<s:iterator value="houselist" id="houseInfo">
<tr class="houseInfo">
<s:hidden name="houseId" id="house.id" value="#houseInfo.id"> </s:hidden>
<s:hidden id="house.flag" value="#houseInfo.flag"> </s:hidden>
<td><s:property value="#houseInfo.name" /></td>
<td><s:property value="#houseInfo.ower.name" /></td>
<td><s:property value="#houseInfo.region" /></td>
<td><s:property value="#houseInfo.address" /></td>
<td><s:property value="#houseInfo.decoration" /></td>
<td><s:property value="#houseInfo.floor" /></td>
<td><s:property value="#houseInfo.SOLO" /></td>
<td><s:property value="#houseInfo.price" /></td>
<td><s:property value="#houseInfo.toward" /></td>
<td><s:property value="#houseInfo.area" /></td>
<td><s:property value="#houseInfo.re" /></td>
</tr>
<br>
</s:iterator>
</table>
<div id="contract" style="display: none;">
<table id="2">
<tr>
<th>客户名称</th><th>生效日期</th><th>终止日期</th><th>月租金</th><th>总金额</th><th>物业费</th><th>网费</th><th>备注</th>
</tr>
<s:iterator value="contractlist" id="contract">
<tr>
<td><s:hidden value="#contract.id"></s:hidden></td>
<td><s:hidden value="#contract.flag" /></td>
<td><s:property value="#contract.renter.name" /></td>
<td><s:property value="#contract.start" /></td>
<td><s:property value="#contract.end" /></td>
<td><s:property value="#contract.price" /></td>
<td><s:property value="#contract.prices" /></td>
<td><s:property value="#contract.wuye" /></td>
<td><s:property value="#contract.internate" /></td>
<td><s:property value="#contract.re" /></td>
</tr>
<br>
</s:iterator>
</table>
</div>
houseInfo.js
$(document).ready(function(){
$(".houseInfo").each(function(index){
$(this).click(function(){
$.ajax({type:"post",
url:"/hrs/getRenterByHouseContractAction.action",
success:$("#contract").css("display","block")
});
});
});
});
已验证后台能够查询到contractlist,并且返回到当前页面。但是就是无法显示table2中的信息。

解决方案 »

  1.   

    <s:iterator value="#request.contractlist" id="contract">
    <tr>
    <td><s:hidden value="id"></s:hidden></td>
    <td><s:hidden value="flag" /></td>
    <td><s:property value="renter.name" /></td>
    <td><s:property value="start" /></td>
    <td><s:property value="end" /></td>
    <td><s:property value="price" /></td>
    <td><s:property value="prices" /></td>
    <td><s:property value="wuye" /></td>
    <td><s:property value="internate" /></td>
    <td><s:property value="re" /></td>
    </tr>
    <br>
    </s:iterator>这样写吧··
      

  2.   

    你可以尝试用个别的 比如JSTL 其实很简单的 
      

  3.   

    这样我想永远也获不到值吧,ajax请求是不会刷新页面的类容。在初始化的时候
    <s:iterator value="#request.contractlist" id="contract">
    已经初始为空了。
    虽然在执行回调函数后id="contract"里面的类容改变了。但是,没有刷新页面怎么会显示出来的。
    返回的JSON数据应该转化成JS数组之后通过JS来控制CSS显示吧
      

  4.   

    楼上正解,能查到contractlist是不错但页面已经加载完了,再用ajax请求返回是不会显示的请了解ajax的用处,异步JavaScript And XML,找个jQuery+struts2的Demo看下应该能解决你的问题