2014-10-29 45 views
1

下面是一個我想遷移至支柱2<HTML:多光碟>等效Struts中2

<html:multibox name="unitForm" property="eservices"> 
    <bean:write name="service"/> 
</html:multibox> 

,因爲它是複選框,以便想用簡單的複選框這是在迭代器的HTML標記Multibox的這樣我用下面的代碼

<s:checkbox theme="simple" name="unitForm.eservices"></s:checkbox> 

在行動

String[] toArray = new String[selectedadminVOs.size()]; 
unitForm.setEservices(selectedadminVOs.toArray(toArray)); 

困在這裏,沒有或極少ACTI變化在代碼我如何遷移至Struts2的

+0

有一個''標籤:http://struts.apache.org/development/2.x/docs/checkboxlist.html。 – 2014-10-29 11:47:46

+0

@AleksandrM:是的,我甚至嘗試過,但沒有顯示預選複選框 – happy 2014-10-29 11:59:10

+0

請問這個問題。 – 2014-10-29 11:59:50

回答

1

在Strust2等效是

<s:iterator var="row" value="%{unitForm.eservices}"> 
    <input type="checkbox" name="unitForm.checked" 
     value="${row.service}" ${unitForm.checked.contains(row.service)?'checked="checked"':''}/>  
</s:iterator> 

,或者您可以使用s:property標籤

<s:iterator var="row" value="%{unitForm.eservices}"> 
    <input type="checkbox" name="unitForm.checked" 
     value="${row.service}" <s:property value="%{unitForm.checked.contains(#row.service)?'checked="checked"':''}"/>/>  
</s:iterator> 
+0

我嘗試了你的解決方案,但是我遇到了這個錯誤:遇到「(」。期望的:「}」,「。」,「[」,「>」,「gt」,「<", "lt", "> =」,「ge」 <=「,」le「,」==「,」eq「,」!=「,」ne「,」&&「,」和「,」||「,」或「,」*「,」+「 , 「 - 」, 「?」, 「/」, 「格」, 「%」, 「MOD」, 【JAVA] \t \t \t \t \t \t \t \t \t \t \t \t \t值=「$ {row.service }「$ {selectedfiles.contains(row.service)?'checked =」checked「':''} />其中selectedfiles是輸入的名稱 – Ariana 2017-03-24 10:30:18

+1

[This](http://stackoverflow.com/a/15435124/573032 )應該可以幫助你 – 2017-03-24 13:19:55