1. 程式人生 > >struts2中設定select、radio預設選中已設定的值

struts2中設定select、radio預設選中已設定的值

<s:radio>

eg:

<s:radio name="invalid" list="#{'0':'啟用(預設)','1':'禁用'}" theme="simple" value="'0'"/>

<s:radio name="invalid" list="#{'0':'啟用(預設)','1':'禁用'}" theme="simple" value="%{#request.sysUser.invalid}"/>

           <s:if test="#request.sysUser.sex == 1"> 
                <input type="radio" name="sex" value="1" checked>男
            <input type="radio" name="sex" value="0" >女
            </s:if>
            <s:if test="#request.sysUser.sex == 0"> 
          <input type="radio" name="sex" value="1" >男
          <input type="radio" name="sex" value="0" checked>女
            </s:if>  

 -------------------------------------------------------------------------------------------------------------------------------------------------

<s:select>

方法一:

 <input type="hidden" name="seldeptcode" value="<s:property value='#request.sysUser.deptkey.deptCode' />"/>

 <select name="deptcode" >
           <s:set  value='#request.sysUser.deptkey.deptCode' name="ord"/>       
           <s:iterator value="deptlist" >
  <option   value='<s:property value="deptCode"/>'><s:property value="deptName"/></option>  
   
   </s:iterator>   
     </select>
      <script language='javascript'>
     var sel = document.getElementById("seldeptcode").value;
      //deptcode
      if (null != sel) {
       document.forms[0].deptcode.value=sel;
      }
    </script>

方法二:

<s:select list="deptlist" value="%{#request.sysUser.deptkey.deptCode}" name="deptcode" listKey="deptCode" listValue="deptName" />

list="deptlist" 也可以寫成從request中得到的值:list="#request.dept"

Dictitem 物件屬於 某 Dict 分類
DictitemAction:
... ...
private Dictitem dictitem;
private ArrayList dictlist;
... ...
public List getDictlist(){
    return dictlist;
}
... ...
public Dictitem getDictitem() {
    return dictitem;
}

說明:其中 dictlist 為 Dict 物件集合,Dict 有屬性 id name,且有相應的get/set 方法

jsp:
<s:select list="dictlist" value="%{dictitem.dcaid}" name="dcaid" listKey="id" listValue="name" />

說明:標籤中 list 屬性為 Ation 的 dictlist 集合,
             value 屬性為 Action 中的方法 getDictitem() 取得的物件的 dcaid

結論:要修改 Dictitem 物件 Dict 分類,
      在Action類的“修改(action)“方法中,先取得Dictitem物件所有屬性,再取得Dict分類,
      設定 jsp 標籤,value 放要選中的值,list是集合,listKey/listValue為集合內物件的屬性。