2012-04-12 3 views
4

그래서 우리 팀은 jsf가 있고 EL 명령문을 사용하여 입력 상자의 값을 읽습니다. 기본적으로 우리 값은 무엇으로 설정되어 있습니까? 들판에 채워 져야한다. EL 문이 작동하는 동안 입력에 대한 기본값을 설정하려면 어떻게해야합니까? 예 : EL 문을 사용하여 값을 읽는 동안 입력 필드의 기본값 설정

<h:inputText value="#{registrationBean.firstName}" styleClass="formEle"/> 

나는
<h:inputText value="#{registrationBean.firstName}First Name" styleClass="formEle"/> 

을 시도했지만 이것은 우리가 제출 한 연결이 끊어. 아이디어가 있으십니까?

답변

10

"워터 마크"또는 "자리 표시 자"라고하는 것을 찾고 있습니다. 낮은 수준에서, 이것은 일반적으로 요즘은 HTML5 placeholder 속성에 의해 수행되는 :

<input type="text" placeholder="First Name" /> 

이는 새로운 HTML5 속성을 지원하는 JSF 구성 요소와 만 HTML5를 지원하는 브라우저에서 물론 작동합니다. 표준 JSF <h:inputText>은 기본적으로 (아직) 이것을 지원하지 않습니다. 이를 지원하는 타사 구성 요소 라이브러리를 찾아야합니다. 그중과 PrimeFaces 자사의 <p:watermark> :

<h:inputText id="firstName" value="#{registrationBean.firstName}" /> 
<p:watermark for="firstName" value="First Name" /> 

PrimeFaces를 사용하는 몇 가지 이유에 대한 옵션이없는 경우, 사용자 정의 구성 요소 및/또는 JS/jQuery를의 사용자 지정 조각의 맛에 스스로를 재발견해야 할 것 정확히 <p:watermark>과 같은 내용으로 다루고 있습니다.

-1

당신은, 당신은 워터 마크를 사용할 필요가 없습니다 PrimeFaces를 사용하여 아래의 예를 참조하기로 결정하는 경우 : HTML5에 대한 자리 표시 자 attibute를 삽입로드 한 후 자바 스크립트에 의해 변경 될 수 있습니다 JSF에 의해 렌더링

<h:form> 
    <p:panel id="panel" header="Client Details" style="margin-bottom:10px;"> 
    <p:messages id="messages" /> 
    <h:panelGrid columns="2"> 

     <h:outputLabel for="firstName" value="First Name" /> 
     <p:inputText id="firstName" value="#{clientlistpagebean.selectedFieldClient.firstName}" required="true" /> 

     <p:outputLabel for="lastName" value="Last Name" /> 
     <p:inputText id="lastName" value="#{clientlistpagebean.selectedFieldClient.lastName}" required="true" /> 

    </h:panelGrid> 
    </p:panel> 

    <p:commandButton value="Submit" update="panel" style="margin-right:20px;" /> 
</h:form> 
1

는 HTML - 태그 :

<script> 
    window.onload = function() { 
    document.getElementById('email').setAttribute("placeholder", "Email"); 
    document.getElementById('pwd').setAttribute("placeholder", "Password"); 
    } 
</script> 
2

당신은 PostConstrut 단계에서 백업 콩에 <h:inputText>의 디폴트 값을 정의 할 수 있습니다.

@ManagedBean(name="registrationBean") 
public class RegistrationBean{ 

    private String firstName; 

    @PostConstruct 
    public void init(){ 
     firstName = "your default value"; 
    } 

} 

당신이 콩을 백업에 정의 된 h:inputText에 표시되는 페이지 생성 값이 될 것입니다 후. 제 3 자 라이브러리가 없으면 다른 사람에게 도움이 될 수 있습니다.

관련 문제