私はThymeleafとSpringで次のコードを持っています。選択されたオプションの値を持っているリストの中には、オブジェクト全体を取り込むものもあれば、そうでないものもあります。Thymeleaf選択ドロップダウンで完全なJavaオブジェクトが設定されない
<select id="financialYearListId" th:field="*{financialYearList}" style="width:100px; float:left;" >
<option th:value="0" th:text=" Select "></option>
<th:block th:each="finYear : ${beneficiaryData.financialYearList}">
<option th:value="${finYear.id}" th:text="${finYear.financialYear}" label=" - Select - "></option>
</th:block>
</select>
</td>
<td colspan="1" align="right"><font color="red">*</font>
<b>From Date</b>
</td>
<td colspan="1">
<input type="text" th:field="*{fromDate1}" name="from_date" class="date form-control" style="width: 100px; margin: 0px;"/>
</td>
<td colspan="1" align="right"><font color="red">*</font>
<b>To Date</b>
</td>
<td colspan="1">
<input type="text" th:field="*{toDate1}" name="to_date" class="date form-control" style="width: 100px; margin: 0px;"/>
</td>
</tr>
<tr>
<td colspan="1"><font color="red">*</font> <b>Scheme</b></td>
<td colspan="1" width="20%">
<select th:field="*{schemeCommandId}" name="scheme_id" style="width:250px" th:onchange="'getSubSchemesandBudgetHeads(this.value);'">
<th:block th:each="scheme : ${beneficiaryData.schemeCommandList}">
<option th:value="${scheme.id}" th:text="${scheme.schemeName}" label=" - Select - " />
</th:block>
</select>
を今はList
オブジェクトの全体financialyear
オブジェクトが取り込まれth:field="*{financialYearList}"
を選択すると次のよう
public class BeneficiaryUploadCommand {
private List<SchemeCommand> schemeCommandList;
private List<BudgetHeads> budgetHeadsList;
@NotEmpty
private List<BeneficiaryType> beneficiaryTypeLists;
@NotEmpty
private List<FinancialYear> financialYearList;
@NotEmpty
private List<SubSchemes> subSchemesList;
private Date toDate;
private Date fromDate;
@Size(min=10, max = 10)
private String toDate1;
@Size(min=10, max = 10)
private String fromDate1;
@NotEmpty
private List<BenefitType> benefitTypesList;
@NotNull
private Integer beneficiariesProposed;
@NotNull
private Double stateShare;
private Double actualExpenditure;
@NotNull
private Double advancedExpenditure;
@NotNull
private char aadharLinkedOrNot;
@NotNull
private char cropItemDataAvailable;
@NotNull
private String schemeCommandId;
@NotNull
private String budgetHeadsListId;
}
Thymeleafコードがあります。しかしschemeCommandList
でそれはidだけを与えるのですか?私はどのようにいくつかのオブジェクトが全体を変換することができます混乱していくつかのIDだけを提供しています。
感謝。私は* {schemeCommandList}フィールドで私は変換例外を取得しようとしました。なぜそれはいくつかではなく、いくつかのために働くのですか?その非常に不安定な – manojpotla
それは間違いなく不安定ではありません!あなたが遭遇している問題は、それを使用する方法の理解になります! 'FinancialYear'クラスと' SchemeCommand'クラスの違いを比較して、なぜ動作するのか、そうでないのかを特定する必要があります。 '変換例外'は、選択した値を 'SchemeCommand'に変換できないことを伝えます。おそらく、なぜ失敗したのかという具体的な理由があります。投稿を編集し、必要に応じて2つのクラスを編集し、誰かがあなたのエラーを指摘できるかもしれません。 – DaveyDaveDave