私はJSTLを初めて使用するので、何か助けが必要です。
「specialties」という名前の文字列があり、特定の文字列が存在するかどうかを確認しています。存在する場合は、それに対応する入力にチェックマークを付けてから、空の文字列に置き換えます。
<input type="checkbox" name="specialities" value="OB/Gyn"
<c:if test="${fn:containsIgnoreCase(asc_details.specialities, 'OB/Gyn')}">
<c:set var="specialities" value="${fn:replace(specialities,'OB/Gyn','')}"></c:set>
<c:out value="${'checked'}"/></c:if>
/> OB/Gyn
<input type="checkbox" name="specialities" value="Plastic/reconstructive"
<c:if test="${fn:containsIgnoreCase(specialities, 'Plastic/reconstructive')}">
<c:set var="specialities" value="${fn:replace(specialities,'Plastic/reconstructive','')}"></c:set>
<c:out value="${'checked'}"/></c:if>
/> Plastic/reconstructive
これは、最初に一致する文字列「OB / Gyn」に最適であり、空の文字列に置き換えられますが、「Plastic/reconstructive」は空の文字列に置き換えられません。なぜそれが起こっているのか理解できません。助けてください。