2016-03-21 21 views
1

私は新しいJava開発者です。私はあなたの助けが必要です。私はすでに質問 - 似たような話題の回答を見たことがありますが、まだそれをどう扱うかわからないので、助けを求めると思いました。選択したチェックボックスを表示する方法は? Spring-Jsp

私はLiferay 6.2 &春を使用しています。私はjspページを持っていて、自分のフォームでcaseTypeを編集しています。このフォームでは、(権限を選択するための)ロールのチェックボックスを追加したいと思います。私はcaseTypeを編集するときに、選択されたチェックボックスを表示できるようにしたいと思います。私の主な問題は、どの変数を使うべきかわからないことです。

<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> 

任意の助けを事前にありがとうございます!

+0

なぜあなたは、ロールリストを反復処理し、それぞれのチェックボックスが表示されないのですか?私はフォームを使用していない:前にチェックボックス、それは春に関連していますか?そうでない場合は、「」タグを使用してください(例:)。 – Peter

+0

ご回答ありがとうございました:) 私はここに答えを実装しようとしています: http://stackoverflow.com/questions/35043873/spring-jsp-checkboxes-on-list-object –

答えて

1

申し訳ありませんが、解決策を見つけたと思います。私の問題は、自分のDtoに適切なゲッター/セッターがないことでした。

だから私のコントローラで、私は役割から来一覧持っている - 私のDTOコードで(Liferayの役割を)

@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; 
} 

私はゲッターを持っており、取得セッター/ Stringsの連結を設定します。

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); 
} 
私のJSPファイル内

、最後に

<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> 
関連する問題