2016-03-21 11 views
1

Yeni java geliştiriciyim ve yardımınıza ihtiyacım var. Ben zaten benzer bir konu ile soru-cevapları gördüm ama hala nasıl ele alacağımı bilmiyorum, bu yüzden biraz yardım istemek istedim.Seçilen onay kutuları nasıl görüntülenir? Spring-Jsp

Liferay 6.2 kullanıyorum & Spring ve formumda caseType düzenleyen bir jsp sayfası var. Bu formda Rollerin bir onay kutusunu eklemek istiyorum (izinleri seçmek için). Bir caseType düzenlerken seçili onay kutularını görüntülemek istiyorum. Benim asıl meselem, hangi değişkenlerin kullanılacağından emin değilim.

<form:form name="wblCaseType" method="post" modelAttribute="wblCaseType" action="${saveWblCaseType}"> 
<form:hidden path="wblCaseTypeId" /> 
<br/> 
    <table style="margin-left:80px"> 
<tbody> 
     <tr> 
      <td><form:label path="type"><liferay-ui:message key="type"/></form:label></td> 
      <td><form:input path="type" /><form:errors path="type" cssClass="errorClass" /></td> 
     </tr> 
     <tr> 
      <td><form:label path="createRoleIds"><liferay-ui:message key="roles"/></form:label></td> 
      <td><form:checkboxes path="createRoleIds" items="${roles}" value="${wblCaseType.createRoleIds}" itemValue="name" itemLabel="roleId" /></td> 
    </tr> 
herhangi bir yardım için şimdiden teşekkür ederiz!

+0

Neden rol listesini yinelemek ve her biri için bir onay kutusu göstermez? Form kullanmadım: önce onay kutuları, Bahar ile ilgili mi? Değilse, 'etiketlerini kullanmalısınız (E.g .:' '). – Peter

+0

Yanıtınız için teşekkür ederiz :) Burada verilen yanıtı uygulamaya çalışıyorum: http://stackoverflow.com/questions/35043873/spring-jsp-checkboxes-on-list-object –

cevap

1

Tamam, çözümü bulduğuma inanıyorum. Benim problemim, Dto'mda uygun alıcı/ayarlayıcı yoktu. Ben alıcı ve alır Setter/Strings bir birleştirme setleri var benim Dto kodunda

@ModelAttribute("roles") 
public List<Role> getRoles() { 

    List<Role> allRoles = new ArrayList<Role>(); 
    try { 
     allRoles = RoleLocalServiceUtil.getRoles(QueryUtil.ALL_POS, 
    ueryUtil.ALL_POS); 
    } catch (SystemException e) { 
     logger.error("Could Not get any Liferay Roles" + e.getMessage(), e); 
    } 
    return allRoles; 
} 

-

Yani benim Denetleyici I Roller (roller liferay) gelen listesi var.

public String[] getCreateRoleIdsArray() { 
    return createRoleIds.split(","); 
} 

public void setCreateRoleIdsArray(String[] selectedRoles) { 
    Logger.getLogger(this.getClass()).error("setCreateRoleIdsArray"); 
    String selRoles = new String(); 
    for (String role : selectedRoles) { 
     selRoles = selRoles + "," + role; 
    } 
    setCreateRoleIds(selRoles); 
} 

ve nihayet benim jsp dosyasında

<form:form name="wblCaseType" method="post" modelAttribute="wblCaseType"action="${saveWblCaseType}"> 
<form:hidden path="wblCaseTypeId" /> 
.... 
<tr> 
    <td><form:label path="createRoleIds"><liferay-ui:message key="roles"/></form:label></td> 
    <c:forEach items="${roles}" var="role"> 
     <td><form:checkbox path="createRoleIdsArray" id="${role.roleId}" label="${role.name}" value="${role.roleId}" /></td> 
    </c:forEach> 
</tr>