我正在使用 struts2-jquery 插件,我需要为sj:select
下拉小部件设置默认值。
该小部件当前工作并将显示所有适当的值(来自地图,其中值是要在菜单上显示的值)。它是从处理适当方法的动作类中调用的。
<s:url id="menu" action="getListofObjects" />
<sj:select name="list" href="%{getListofObjects}" list="objects"/>
假设对象是蓝色的,它的 ID 是 3。目前我有一个.jsp
页面,其中列出了所有对象。如果我单击“3”,它会调用一个动作,该动作会找到对象(蓝色)并将“3”和蓝色都保存在动作中。然后,它调用一个.jsp
显示对象信息的新页面。
我想要的是有一个sj:select
下拉菜单,默认为我选择的对象(在本例中为蓝色),但单击时将显示其余对象。当我用我调用小部件时,value="%{object}"
我会得到相同的对象显示两次。
有人对此有解决方案吗?我见过人们使用 jQuery 来清除重复项的下拉列表,但我想知道是否有一个真正的解决方案,我可以根据下拉菜单返回的内容设置默认值。
另外,我使用的sj:select
是因为我有一些双/三选择方法,所以我无法切换到 s:select。
谢谢。
更新 -> 更多代码
page1.jsp
<s:iterator value="penList">
<tr class="detail">
<td class="detail">
<s:url action="penUpdate" var="urlTag">
<s:param name="penId"><s:property value="penId"/></s:param></s:url>
<a href="<s:property value="#urlTag" />"><s:property value="penId" /></a></td>
penUpdateAction.java
public String execute(){
getPen();
return Action.SUCCESS;
}
public PenVO getPen(){
penVO = penService.searchPens(penId);
name = penVO.getName();
id = penVO.getPenId();
return penVO;
}
Page1 调用调用 page2 的 penUpdateAction
Page2.jsp
<s:url id="nameList" action="getNames" />
<sj:select name="name" href="%{nameList}" list="names" onChangeTopics="reloadsecondlist"/>
这是一个显示所有可用名称的下拉菜单。它正在工作,但我希望它默认存储在 penUpdateAction 类中的值。然后用户可以更改该值或保持原样。