Webアプリケーションに問題があります。私はコントローラとしてSpring MVCを使用します。私のJSPでは、私はいくつかの入力を含むフォームを持って、それらの一つ一つは、このように、モデルの属性であるStringオブジェクトのArrayListの、の内容を表示します。空のArrayList要素(Spring MVCコントローラ)が表現言語に正しく表示されない
<form>
<c:forEach var="i" begin="0" end="${myArrayListlength}">
<form:input id="line${i}" type="text" value="${myArrayList[i]}" />
</c:forEach>
</form>
の問題は、いくつかの要素ということですArrayList(理論的にはそれらのすべてでさえ)は空であるかもしれません。空でない文字列を表示する入力は正常に機能し、空の文字列に対応する入力はすべてのArrayList要素の連結を表示します。 ArrayListに "Joe"、 "Mark"、 ""、 "Bob"の4つの要素が含まれているとします。フォームには、次のように表示されます:
Joe
Mark
Joe,Mark,,Bob
Bob
私は彼らが想定していたが、無駄なく適切に空の入力を得るために何かを試しました。
value="${not empty myArrayList[i] ? myArrayList[i] : ''}"
のような属性で三項式を使用しようとしましたが、機能しませんでした。
これについていくつかの光を当てるのを手伝ってくれる人には、事前に感謝します。
これは、ループを次のように変更すると発生します: ' '? –
フォーム入力がページから消えてしまった:( –
まあ、スプリングフォームタグと普通のものとの間に違いがありますが、バネタグは必要ないかもしれません。 –