to sandyen(杉叶)那么直接用<SELECT> 怎么让其中一个OPTION设为SELECTED属性呢?
to : whatwhynot(努力努力!) 有没做过Mastering Jakarta Struts一书的第十一章例子。我的在登陆以后便抛出Cannot find bean employees in any scope异常。
to: whatwhynot(努力努力!) to: sandyen(杉叶)两位朋友,可能我的表达没太明白,我阐述一下: 1、我现在用的是struts的标记库,因为这样提交时可以自动和actionForm绑定。或许直接用标准的标记库也行,但现在我不想改 2、其实我想实现的是想在打开页面时控制下拉框的选中相,即<select></select>中<option>的selected属性。但是struts下的<html:option>标记没有selected属性 3、由于第2条原因,我想在javascript中操纵下拉框的selceted属性,本来这样是可以的,但是讨厌的是,<html:form>却没有onload事件,所以不能在每次打开页面时控制它这就是我的问题所在,希望各位高手不惜赐教
<select name="obj_Id" class="text" style="width:355px">
<option value="" selected></option><logic:iterate id="sysclass" name="sysclass"type="com.ideacom.siis.domain.Evalue_Obj_Class">
<%
String Id="";
String classSelected="";
if(request.getParameter("id")!=null)
Id=request.getParameter("id");
%> <logic:equal name="sysclass" property="objclass_id" value="<%=Id%>">
<%classSelected=" selected";%>
</logic:equal>
<option value=<bean:write name="sysclass" property="objclass_id"/><%=classSelected%>><bean:write name="sysclass" property="objclass_name"/></option>
</logic:iterate>
</select>
希望你能看懂!
to: sandyen(杉叶)两位朋友,可能我的表达没太明白,我阐述一下:
1、我现在用的是struts的标记库,因为这样提交时可以自动和actionForm绑定。或许直接用标准的标记库也行,但现在我不想改
2、其实我想实现的是想在打开页面时控制下拉框的选中相,即<select></select>中<option>的selected属性。但是struts下的<html:option>标记没有selected属性
3、由于第2条原因,我想在javascript中操纵下拉框的selceted属性,本来这样是可以的,但是讨厌的是,<html:form>却没有onload事件,所以不能在每次打开页面时控制它这就是我的问题所在,希望各位高手不惜赐教
<html:options collection="labelvalue" property ="value" labelProperty ="label" />
</html:select>我不知道你是如何实现的,这是我的实现方式
如果你再你的actionform中调用了setDeptCD()那么你就可以得到默认的值
就拿你的例子来说吧。我也是这么用的,打开页面的时候,下拉框中选中的是collection="labelvalue"中第一个actionForm的deptCd的值,对吧。但是我的问题出现在,当我选中了下拉框中的一个选项后,进行诸如查询之类的提交操作之后,返回该页面(即重新刷新一次)后,该下拉框中出现的仍然是上次操作所选中的那个选项。这是怎么回事?刷新时返回的collection已经是重新查询的到的了,怎么还会保留有以前的选中状态???所以我才想要在页面load时控制select下拉框的选中属性另外,在帖子上说话太麻烦,你愿意和我用qq聊吗,我的是:5909558
至于你提到为什么下次刷新页面时为什么还会保留上次操作的问题,
这就正是Struts的巧妙之处了,你在创建一个Action时,可以指定相应的
ActionForm,并指明是将该ActionForm保存在Request或是session中,
这样的话Struts会根据相应的作用域实现页面的回显,这个功能在大多数
情况下将是相当有用的!如果你不想这么做,那你在创建Action的时候,
不指定ActionForm的作用域就可以了。
你说的在创建action的时候指定actionForm的作用域是怎么回事,能详细讲解一下么?我不太清楚action,你指的是在action的perform()方法中吗?
session中按照actionForm的name属性取出该actionForm!如果你指定保存到session的话,那么不论你跳转多少次页面,当你再回到原来的页面时,你会发现你上次在页面输入的还保留在那里!你仔细想想就会明白为什么说这个功能非常有用了!呵呵!~~~
非常感谢你的回复。
我明白你的意思了。可是我在action中把actionForm是保存到request 中的呀,(request.setAttribute("actionFormName",actionForm)),可是还是出现以前说的问题。