2012-12-15 4 views
2

내 struts2 응용 프로그램에서 metro CSS 테마를 사용하고 있습니다. 잘 작동하는 CSS 클래스가있는 html 태그를 사용하고있었습니다. 그러나 유효성 검사 논리를 작성하는 동안 양식을 확인하지만 오류는 표시되지 않습니다.struts2 태그에서 CSS 스타일을 사용하는 방법은 무엇입니까?

<form action="register.action" method ="post" validate="true"> 
<div class="input-control text span3"> 
    <input type="text" name="username" placeholder="Enter User Name" value="" /> 
    <span class="helper"></span> 
</s:div> 
</form> 

struts2 html 태그로 전환하면 오류가 표시되기 시작하지만 이제는 스타일이 추가되지 않았습니다. struts2 html 태그의 cssClass 속성을 사용하여 양식을 작성하고 잘 작동하는 태그를 입력했지만 <input type="text"> 태그를 <s:textfield>으로 변경하면 입력 상자에 연결된 모든 스타일이 사라졌습니다.

CSS 스타일을 유지하면서 struts 태그를 사용하는 방법을 제안 해주십시오.

답변

4

자신의 스타일과 요소 Struts2 simple 테마를 사용하여 이미 모든 JSP-S이있는 경우. 이 테마는 추가 요소를 만들거나 유효성 검사 오류를 표시하지 않습니다. 그러나 fielderror 태그를 사용하여 유효성 검증 오류 http://struts.apache.org/2.x/docs/fielderror.html을 표시 할 수 있습니다. 그래서 당신은 그렇게 보일 것이다 형성 :

<form action="register.action" method ="post" validate="true"> 
    <div class="input-control text span3"> 
    <s:fielderror fieldName="username"/> 
    <s:textfield name="username" placeholder="Enter User Name"/> 
    <span class="helper"></span> 
    </s:div> 
</form> 

당신은 struts.ui.theme 상수를 사용하여 struts.xml 파일 내부의 전체 응용 프로그램에 대한 기본 테마를 정의 할 수 있습니다.

<constant name="struts.ui.theme" value="simple" /> 
+0

감사합니다 Aleksandr 남,이 정확히 내가 무엇을 찾고 있었는지. 내가 필드가 아닌 유효성 검사 로직을 사용하고 있다면, fielderror 태그로 표시되지 않는 것이 하나 더 의심 스럽습니까? – Ananda

+0

또한 지역화 리소스 파일 키를 사용하여 ApplicationResource.properties에서 레이블을 표시하는 방법은 무엇입니까? – Ananda

8

cssClass 태그를 <s:textfield> 태그로 사용하고 CSS 스타일을 추가하여 양식의 스타일을 지정할 수 있습니다. 여기에 주목할 필요가

<s:textfield cssClass="mytext" ... /> 

//css 
.mytext { 
} 

한 가지 Struts2 태그는 기본적으로 XHTML 테마를 사용한다는 것입니다. 따라서 폼과 함께 많은 HTML 코드를 생성합니다. 기본 테마를 css_xhtml으로 변경하여 Struts2 기본값 대신 자신 만의 스타일을 적용 할 수 있습니다.

다음을 추가하십시오 : struts.properties 파일. struts.ui.theme = css_xhtml

참조 : Override Default Theme in Struts 2

+2

나를 도왔습니다. 그리고 오, 자습서의 큰 팬 :) 감사합니다 백만 달러! – Saturnian

관련 문제