我在Struts2是新的。我有用戶表單,角色列有一個下拉列表。當用戶窗體處於編輯模式時,存儲的值將被放置到相應的控件中。但我無法通過默認選擇的值設置下拉列表。我該怎麼做?如何設置在Struts2 <s:select>標籤默認選擇的值?
4
A
回答
6
如果您選擇的標籤值從選擇標籤列表中的密鑰相匹配,Struts將會做正確的事情,並讓該值的默認值。請注意,這些類型必須匹配。
6
除了Nate的回答,我發現,我需要把周圍的值屬性的數據單引號如果密鑰類型,以便它認識到,我的輸入值是一個字符串一個字符串。
0
<!--name attribute inside select tag must be a variable in action class with getter/setter -->
<!-- test variable sets the value of selected item in action class -->
<select name="test">
<!-- name attribute could be anything you want but value attribute must be a model class variable-->
<s:set name="lead_string_LS_ID" value="MasterDataModel.string_LS_ID" />
<!-- value attribute must be a list to iterate, status (an instanceof IteratorStatus will be pushed into stack upon each iteration)or result -->
<!-- var Name used to reference the value pushed into the Value Stack (my list contain leadSource_String_Id)-->
<s:iterator value="leadSource_list" status="result" var="leadSource_String_Id">
<!--#lead_string_LS_ID is value taken from <set> tag above. Note # must be in-front of the name
leadSource_String_Id is element specified in var of <iterator> tag
-->
<s:if test='(#lead_string_LS_ID.equals(leadSource_String_Id))'>
<option value="<s:property value='leadSource_String_Id'/>" selected="selected">
<s:property value="leadSource_String_Name" />
</option>
</s:if>
<s:else>
<option
value="<s:property value='leadSource_String_Id'/>">
<s:property value="leadSource_String_Name" />
</option>
</s:else>
</s:iterator>
</select>
3
要在一個例子說明這一點:
<s:select name="employee.course.courseId" value="3" label="%{getText('label.courseName')}" list="courses" listKey="courseId" listValue="courseName" />
- 這裏Employee對象包含稱爲 「過程」 的對象,它有 一個屬性 「courseId」
- listKey被選擇作爲courseId和listValue被選擇爲 courseName
因此,輸出將是這樣的:
<option value="1">Computer Science</option> <option value="2">Electronics</option> <option value="3">Mechanical</option>
value屬性被設置爲「3」和它在 列表中,這是機械的第三屬性匹配
因此這將是在下拉的默認選擇的值, 因此輸出HTML會像:
<option value="1">Computer Science</option> <option value="2">Electronics</option> <option value="3" selected="selected">Mechanical</option>
希望這有助於。
0
即使您正確地執行了所有操作並且它沒有預先選擇,那麼您需要確保該鍵的返回類型匹配。 例如對於下面的列表
<select onchange="showHideDefDiv('typeListId')" style="selectCss50" class="selectCss50" id="typeListId" name="definitionDiv_I">
<option value="blank"> </option>
<option selected="selected" value="definitionDiv_I">I</option>
</select>
<s:select list="%{editRulePojo.groupPojoList}" listKey="%{groupType}"
listValue="%{groupTypeValue}" value='definitionDiv_I' />
不起作用,而
<s:select list="%{editRulePojo.groupPojoList}" listKey="%{groupType}"
listValue="%{groupTypeValue}" value='%{editRulePojo.groupType}' />
作品。
從Struts2的文檔:
注:對於任何使用列表標籤的(選擇可能是最普遍的),它使用OGNL列表 符號(見上面的「月」的例子),應該注意的是,創建的地圖鍵(在月例中, '01','02'等)被鍵入。 「1」是一個char,「01」是一個字符串,「1」是一個字符串。這很重要,因爲如果 由「值」屬性返回的值與「列表」屬性中的鍵不是同一類型,即使它們的字符串值可能相等,它們也不會匹配。如果它們不匹配,則將自動選擇列表 中的任何內容。
相關問題
- 1. 在struts2中選擇標籤中設置多個默認值
- 2. 如何設置默認值形式:在春季選擇標籤
- 3. Struts2的:無法設置多個默認選擇爲支柱選擇標籤
- 4. 如何設置默認值MD-選擇
- 5. 如何設置默認值多選擇
- 6. 屬性標籤(struts2)的默認值
- 7. 如何在選擇列表中設置標題和默認值?
- 8. 在Struts2中設置默認值
- 9. 角2 - 如何設置默認<select>選擇的選項
- 10. 如何在Web UI <select>標籤中設置默認選定選項?
- 11. WordPress的:如何設置標籤默認
- 12. 檢查默認選擇值標籤!
- 13. Grails的選擇不設置默認值
- 14. 如何在struts2中設置默認選中的單選按鈕值?
- 15. 設置默認選項標籤選擇軌道
- 16. 如何在struts2中設置textarea的默認值
- 17. 如何在Struts2中設置<s:textarea>標籤的maxlength?
- 18. 如何設置的默認值分組選擇在Django
- 19. 如何在JSP中設置下拉/選擇的默認值?
- 20. 如何設置Rails SimpleForm選擇框的默認選定值
- 21. 設置選擇默認值與Ember.Select
- 22. 設置默認值datetimer選擇器
- 23. Angular2 [選擇]無法設置默認值?
- 24. 設置默認值od選擇菜單
- 25. Wicket下拉選擇設置默認值
- 26. AngularJS ng-repeat設置默認選擇值
- 27. AngularJs設置默認值來選擇
- 28. 設置默認值來選擇
- 29. 設置選擇器默認爲CoreData值?
- 30. 設置默認/空值與選擇TagHelper
Broken link 321 – 2018-01-15 10:14:50