웹 응용 프로그램에 문제가 있습니다. 나는 Spring MVC를 컨트롤러로 사용한다. 내 JSP에서 나는 한 형태, 그들 각각이 같은 모델 속성입니다 String 오브젝트의 ArrayList를,의 내용을 표시하는 몇 가지 입력을 포함하는이 :표현식 언어가 빈 ArrayList 요소 (스프링 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] : ''}"
과 같은 세 가지 표현식을 사용하려고 시도했지만 작동하지 않았습니다.
미리 알려 주셔서 감사합니다.
루프를 다음과 같이 변경하면 이런 일이 발생합니다 : ' '? –
폼 입력은 페이지에서 사라졌습니다. ( –
) 스프링 폼 태그와 일반 폼 태그 사이에 차이가 있습니다. 아마도 스프링 태그가 필요하지 않을 수도 있습니다. 입력 태그에서 'form :'부분을 제거해보십시오. –