日期:2014-05-19  浏览次数:20711 次

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>