2017-09-08 5 views
0

私のデータベース(mysql)にjobsテーブルがあります。テーブルには、ID、varcharタイトル(管理者、プロジェクトリーダーなど)、およびvarchar rolesカラムが含まれています。 rolesカラムは、ログイン処理中にスプリングセキュリティによって使用され、ROLES_ADMINROLES_USERの2つの値を持つことができます。Spring Thymeleaf selectタグとoption htmlタグを使用してデータベースにspcific値を保存する方法

管理者が既存のジョブを編集できる編集ページを作成しました。私がしたいのは、選択肢をユーザーと管理者に限定することですが、ROLE_ADMINとROLE_USERを表示する代わりに、選択タグに管理者とユーザーが表示されます。このような

何か:

オプション1テキストを表示する管理者がデータベースにROLE_ADMINを保存し

オプション2テキストを表示ユーザーがデータベース

でROLE_USERを保存し、現在、私のタグは、この

<select name="role"> 
    <option th:each="job: ${jobs}" th:value="${job.role}" th:text="${job.role}"></option> 
</select> 
ようになります

ROLE_USERとROLE_ADMINが表示され、そのように保存されます。

答えて

1

あなたが表示してあるようth:valueを維持したいテキストに

th:text="${job.role}" 

を変更する必要があります。そのために

あなたは、たとえば、あなたの仕事のクラス

public String getDisplayRole() { 
    return ""; // split role on _, take second element and make title case for example 
} 

にゲッターを作ることができ、その後、th:text="${job.displayRole)"

+0

ので、 '目:テキスト= "$ {管理者}"'?管理者をデータベースに保存しないのですか? – Adi

+0

いいえ、 'th:value'の値はデータベースに保存されます – Janar

+0

動作しません。選択すると空白が表示され、編集時に何も変更されません – Adi

関連する問題