struts2 s:textfield设置问题java代码:request.setAttribute(serverInfo,list)其中list是ArrayList,
struts2 <s:textfield>设置问题
java代码:
request.setAttribute("serverInfo",list);
其中list是ArrayList,里面放的是一维数组,{'数据2','数据2'}
在jsp中
<s:textfield>这个标签中怎么显示数据的值,如:<s:textfield name="username" value="数据1">
还有:用struts2取数据的时候一般存在什么地方啊,我之前用的struts1,都是用request.setAttribute("serverInfo",list);这种方式传回从数据库查询出来的结果集的,不知道在struts2中这样存合理不。请大家指教一二。
[解决办法]
问题:用struts2取数据的时候一般存在什么地方啊
设置到request这样方式可以。个人感觉不太好。
在Action中定义
private String name;
有get/set方法。
struts2会自动把值放到ValueStack和request中的。
[解决办法]
public class TestAction {
private String id;
private List<Object> lst;
public String doPost() throws Exception {
lst = testDao.getTestById(id);
return SUCCESS;
}
id和lst有get/set方法。
}
以上写法,在jsp页面上就可以取得lst的值了。
[解决办法]
好想法
[解决办法]
[解决办法]以前写过的一个例子,放在table下
<table id="listData" class="table" style="border-top: 0px " width="98%" border="0" cellpadding="0" cellspacing="0" >
<s:iterator id="listVisitTaskUpd" value="listVisitTaskUpd" status="st1">
<s:if test="#st1.odd==true">
<tr align="left" >
</s:if>
<s:else>
<tr align="left" class="pEven">
</s:else>
<td width="7%" align="center" >
<input type=checkbox id="checkBox" <s:if test="%{listVisitTaskUpd[#st1.index][5]==null}"></s:if><s:else>checked</s:else>
></input>
</td>
<td width="20%" align="center" ><input type="text" name="taskid" style="display:none;" value="${listVisitTaskUpd[st1.index][0]}" /><s:property value="listVisitTaskUpd[#st1.index][1]" /></td>
<td width="20%" align="center" ><div noWrap style="width:140px;text-overflow:ellipsis;overflow:hidden"><s:property value="listVisitTaskUpd[#st1.index][2]" /></div></td>
<td width="20%" align="center" ><s:property value="listVisitTaskUpd[#st1.index][3]" /></td>
<td width="20%" align="center" ><s:property value="listVisitTaskUpd[#st1.index][4]" /></td>
<td width="12%" align="center" >
<input type="text" name="txtOrder" onkeypress="if(window.event.keyCode<48 || window.event.keyCode>57) window.event.keyCode = 0;"
onpaste="return false" id="txtOrder" value="${listVisitTaskUpd[st1.index][6]}" size="2" /></td>
</tr>
</s:iterator>
</table>
红色标记就是后台传入的list
[解决办法]
<input type="text" name="txtOrder" onkeypress="if(window.event.keyCode <48 || window.event.keyCode>57) window.event.keyCode = 0;"
onpaste="return false" id="txtOrder" value="${listVisitTaskUpd[st1.index][6]}" size="2" />这句话不是给你启示了么?
[解决办法]
action中属性名和name一样提供get/set方法就OK了
[解决办法]
<s:textfield name="serverip" value="${#request.serverInfo[#admin.index][0]}"> </s:textfield>
[解决办法]
[解决办法]<s:iterator id="#request.serverInfo" value="#request.serverInfo" status="admin" id="list">
<tr>
<td height="25" align="center">
<s:textfield name="serverip" value="${#request.serverInfo[admin.index][0]}"> </s:textfield>
</td>
<td align="center"> <s:property value="#list[1]"/> </td>
<td align="center">
<s:submit value="修改"> </s:submit>
</td>
</tr>
</s:iterator>
这句话没+?
[解决办法]错了.是直接<s:textfield name="serverip" value="$list[admin.index][0]}"> </s:textfield>
[解决办法]value="${$list[admin.index][0]}"
[解决办法]textfield 里 value="${list[admin.index][0]}" 前面的都写错了。nnd
[解决办法]<s:property name="username" value="${#request.serverInfo.username}">
[解决办法]<s:textfield name="serverip" value="%{#request.serverInfo[#admin.index][0]}"> </s:textfield>