2012-06-12 4 views
2

내가 무엇을 가지고 :"input"태그 대신 Spring MVC "form"태그를 사용하려면 어떻게해야합니까?

내가 특정 개체를 표시하는 내 응용 프로그램 전체에서 사용되는 일반적인 JSP 페이지가 있습니다. 각 섹션에 대해

<form:form modelAttribute="object"/> 
    <core:forEach items="${sections}" var="section" varStatus="itemStat"> 
     <core:forEach items="${section.fields}" var="fieldDef"> 
      <form:input path="${fieldDef.fieldName}"/>           
     </core:forEach> 
    </core:forEach> 
<form:form> 

, 그 섹션의 각 필드에 대해, I는 입력 I 각에서 표시 할 것입니다 어떤 경로 fieldName에을 갖는이 : 나는에 관심이 코드는 다음과 같이 간다 들.

내가 원하는 것은 : 내가 레이블처럼 간단한 텍스트로 대신 입력 싶습니다

. 내가 시도 무엇

는 :

나는 <form:label>으로 어떻게 든 할 수있는 가장 확신하지만 난 정말이 일을 할 수 없습니다. <form:label path="${fieldDef.fieldName}" />을 만들면 브라우저에 레이블이 필요한 필드를 알려주지 만 실제 값은 가져 오지 않습니다.

는 또한 ${object.fieldDef.fieldName} 같은 것을 시도했다, 그러나 위해이는 내가 처음 나에게 열의 이름을 줄 것 ${fieldDef.fieldName}의 가치를 분석해야 작동 한 다음 ${object.column}을하지만, 열이되는하기 변수 나는 어떤 식 으로든이 일을 할 수 없었다.

대안 :

대안은 비활성화로 입력을하고 CSS로 테두리를 제거하는 것입니다,하지만 그건 더러운 방법이 될 것입니다 내가 본 것을에서이 IE 다른 버전도 까다 롭습니다 . 나는 그것을 직접 다룰 수 있다고 확신한다.


나는 <form:input path="..."> 그것이 (같은 다른 폼 요소에 간다) 해당 경로에 해당하는 무엇을 발견 입력에두고 있다는 사실에 의해 약간의 흥미를,하지만 레이블이 서로 다른 작동합니다.

그래서 내가 원했던 것은 기본적으로 간단하지만 방법을 찾을 수 없었습니다. 누군가가 약간의 빛을 비출 수 있다면 좋을 것입니다. 미리 감사드립니다! A 입력 필드를 만드는 대신이 어떤 값 대신

<form:input path="${fieldDef.fieldName}"/> 

사용

<c:out value="${fieldDef.fieldName}"/> 

그것은 표시 할의

+1

은'form' 태그 라이브러리는 JSTL 없습니다. 그것은 Struts 나 Spring MVC로 알려져 있습니다. 'form' taglib URI를 읽고 그에 따라 질문을 업데이트하십시오. 또한 JSTL 위키 페이지에서 JSTL의 실제 내용을 확인하십시오. http://stackoverflow.com/tags/jstl/info – BalusC

+0

감사합니다. 내 글을 업데이트했습니다. –

답변

2

. 희망이 당신을 도와줍니다. 건배. 더하려면 입력 비활성화 = "true"를 경로 = "$ {fieldDef.fieldName}"/ >

: 봄 양식 탭을 사용

+0

그러면 ** id ** 또는 ** name **와 같이 열 이름이 인쇄됩니다. ** $ {object.name} **에서 값을 인쇄하고 싶습니다. 이것은 내 문제입니다. 이것은 내가이 질문으로 추구하는 것입니다. –

2

, 하나의 옵션은

< 양식을 사용하는 것입니다 그것은 당신이 당신의 취향에 맞추기 위해 CSS를 사용할 수있는 입력처럼 보이지 않습니다.당신이 사용할 수

일부 CSS 스타일 :

배경 색상 : #EEEEEE; 국경 : 0 픽셀 고체;

업데이트 : 스프링 바인드 태그를 살펴볼 수 있습니다. 나는 이것을 사용해 본적이 없지만 입력 태그 대신에 사용할 수 있습니다.

<spring:bind path="fieldDef.fieldName"> 
    ${status.value} 
</spring:bind> 
+0

내가 처음 게시물에서 언급했듯이, 나는 이것에 대해 생각해 왔지만 그것을하는 좋은 방법은 아니다. 더욱이 Firefox 나 Chrome에서는 괜찮은 것처럼 보이지만 Internet Explorer의 일부 버전에서는'background-color : inherit'가 실제로 작동하지 않고 일부 테두리가 제대로 표시되지 않습니다. 그래서 저는 그것을 다른 방식으로하고 싶습니다. –

+1

봄에 보았습니까? http://static.springsource.org/spring/docs/1.1.5/taglib/tag/BindTag.html –

+0

예, 예, 예 !! 이것이 제가 찾고 있던 것입니다. 감사합니다! 의견이 아닌 답변으로 게시 할 수 있다면이 질문을 선택하여 해결할 수 있습니다. –

관련 문제