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

struts2 <s:textfield>设置有关问题

2012-06-20 
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的值了。
[解决办法]
好想法
[解决办法]

探讨
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 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>
我是这样写的啊,报错了。
引用:
<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" />这句话不是给你启示了么?


[解决办法]

<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>

热点排行