2012-05-11 7 views
1

매개 변수 이름이 "ONum"인 URL에 전달 된 매개 변수를 가져와 해당 값을 orderNum 필드에 입력해야합니다.jsf의 텍스트 입력 필드에 getParameter 값을 입력 하시겠습니까?

<h:panelGroup> 
<h:inputText id="orderNum" value="#{LoginBean.orderNum}" size="18" maxlength="17" tabindex="1" title="Order Number" disabled="#{LoginBean.disableField}"/> 
</h:panelGroup> 

그 일을하기 전에, 내가 #를 확인하기 위해 필요 {LoginBean.orderNum은} 값이 다음 ONum에서 매개 변수의 내용을 얻을 orderNum 텍스트 입력 필드에 표시 반환하지 않습니다. 값을 반환하면이 작업을 무시합니다. 도와주세요.

답변

0

요청에서 매개 변수 값을 직접 읽어 빈에 채우는 것이 좋을 것입니다.

@SessionScoped 
public class LoginBean { 

    private String orderNum; 

    public String getOrderNum() { 
     if (getRequestParameter("onum") != null) { 
      orderNum = getRequestParameter("onum"); 
     } 
     return orderNum; 
    }  

    private String getRequestParameter(String name) { 
     return ((HttpServletRequest)FacesContext.currentInstance().getExternalContext().getRequest()).getParameter(name); 
    } 
    // ... 

충분해야합니다.

+0

좋아요.하지만 getRequest() 메소드의 getParameter() 메소드가 표시되지 않습니다. orderNum = FacesContext.getCurrentInstance(). getExternalContext(). getRequest(). ??? –

+0

'HttpServletRequest'에 던지십시오. –

+0

감사합니다. 하지만 다른 ONum 쿼리 문자열 값으로 페이지를 다시로드하려고하면 업데이트되지 않습니다. 내 LoginBean 범위가 세션 범위이기 때문에 그 희망. 이것을 극복 할 수있는 방법이 있습니까? 마찬가지로 나는 모든 쿼리 문자열이있는 페이지의 각 다시로드에 업데이트 된 텍스트 필드를 원한다. –

관련 문제