我接触struts 差不多快一个月了,所以很多问题还是不明白,趁着 刚下班回家之前发个帖咨询下,希望回到家之后能看到有人回复,在此 先感谢1,首先 单选
这是我添加页面里的: <s:select theme="simple" name="content.contentPriority" list="%{#{'00':'高', '01':'中','10':'低'}}" headerKey="key" headerValue="请选择优先级" /> 一个很简单的设置,也能显示,但是现在 要求是要 修改这个下拉框的值,也就是说在点“修改后”所弹出的修改页面里 这个下拉框所显示的是这个 content的 优先级,怎么实现!2,是多选 ,也是1同样的问题<s:optiontransferselect
list="productMap"
id="leftProduct"
listKey="key"
listValue="value"
multiple="true"
size="12"
allowUpDownOnRight="false"
allowUpDownOnLeft="false"
allowSelectAll="false"
cssStyle="width:100px"
doubleCssStyle="width:100px"
doubleId="rightproduct"
doubleList="{}"
doubleName="products"
doubleMultiple="true"
doubleSize="12"
/>其中 productMap 是在这个action里 getProductMap()实现的 hashMap类,里面的内容是全部的product的id 及其name
在添加页面也是正常的,可是在编辑页面 这个多选框 仍然是 添加页面里 显示的东西,所以应该怎么设置?还有种方式,这个是完全正常的 可惜 我看不大明白
<c:set var="leftList" value="${availableRoles}" scope="request"/> <s:set name="rightList" value="user.roleList" scope="request"/> <c:import url="/WEB-INF/pages/pickList.jsp">
<c:param name="listCount" value="1"/>
<c:param name="leftId" value="availableRoles"/>
<c:param name="rightId" value="userRoles"/>
</c:import>这种方式 我不会搞,因为前面的availableRoles这个东西是在一个listener里设置的,availableRoles在第一次初始化的时候就装进去了,而这个代码 我还没看明白,这个在修改的时候 左右选框 都是前面已经选好后的值因为没看明白,所以 想用第一种方式 也去实现 第二种一样的功能,求解怎么做
这是我添加页面里的: <s:select theme="simple" name="content.contentPriority" list="%{#{'00':'高', '01':'中','10':'低'}}" headerKey="key" headerValue="请选择优先级" /> 一个很简单的设置,也能显示,但是现在 要求是要 修改这个下拉框的值,也就是说在点“修改后”所弹出的修改页面里 这个下拉框所显示的是这个 content的 优先级,怎么实现!2,是多选 ,也是1同样的问题<s:optiontransferselect
list="productMap"
id="leftProduct"
listKey="key"
listValue="value"
multiple="true"
size="12"
allowUpDownOnRight="false"
allowUpDownOnLeft="false"
allowSelectAll="false"
cssStyle="width:100px"
doubleCssStyle="width:100px"
doubleId="rightproduct"
doubleList="{}"
doubleName="products"
doubleMultiple="true"
doubleSize="12"
/>其中 productMap 是在这个action里 getProductMap()实现的 hashMap类,里面的内容是全部的product的id 及其name
在添加页面也是正常的,可是在编辑页面 这个多选框 仍然是 添加页面里 显示的东西,所以应该怎么设置?还有种方式,这个是完全正常的 可惜 我看不大明白
<c:set var="leftList" value="${availableRoles}" scope="request"/> <s:set name="rightList" value="user.roleList" scope="request"/> <c:import url="/WEB-INF/pages/pickList.jsp">
<c:param name="listCount" value="1"/>
<c:param name="leftId" value="availableRoles"/>
<c:param name="rightId" value="userRoles"/>
</c:import>这种方式 我不会搞,因为前面的availableRoles这个东西是在一个listener里设置的,availableRoles在第一次初始化的时候就装进去了,而这个代码 我还没看明白,这个在修改的时候 左右选框 都是前面已经选好后的值因为没看明白,所以 想用第一种方式 也去实现 第二种一样的功能,求解怎么做
友情UP一下。。
或重新写个修改方法
如果是这样的话,你在action里面,把这个字段赋值成你想要显示的值就行了,不过你下拉框的name和action里的字段要对应。
我自己都看不懂自己写的说明了,囧~~~
给你点代码,希望对你有帮助
<tr>
<td nowrap class="TableData">上级部门:</td>
<td class="TableData">
<s:select name="parentId" value="id " theme="simple"
list="@com.zhkj.oa.web.function.DeptSelectDataFunction@allDepts(0)"
headerKey="0" headerValue="无"
listKey="id" listValue="name"></s:select>
</td>
</tr>
list中数据格式是
public class SelectData { private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}