복붙노트

[JQUERY] 어떻게 사용하지 않으려면 / 자바 스크립트에서 JSF 입력 필드를 사용 하시겠습니까?

JQUERY

어떻게 사용하지 않으려면 / 자바 스크립트에서 JSF 입력 필드를 사용 하시겠습니까?

해결법


  1. 1.당신은하지 클라이언트 측을 통해, 서버 측을 통해 전환 할 필요가있다. JSF MVC 프레임 워크의 보호를 HTML이나 JS 같은 최종 사용자가 사용하는 클라이언트 사이드 언어 / 도구 등의 방법으로 및 / 또는 HTTP 요청 매개 변수 HTML DOM 트리를 조작하는 것을 특징으로 변조 / 해킹 요청에 대해이 방법을 기반 상태 기반 구성 요소 인 것으로의 결과 JSF의 그 장애인, 읽기 전용 또는 렌더링 속성이 변경됩니다.

    당신은하지 클라이언트 측을 통해, 서버 측을 통해 전환 할 필요가있다. JSF MVC 프레임 워크의 보호를 HTML이나 JS 같은 최종 사용자가 사용하는 클라이언트 사이드 언어 / 도구 등의 방법으로 및 / 또는 HTTP 요청 매개 변수 HTML DOM 트리를 조작하는 것을 특징으로 변조 / 해킹 요청에 대해이 방법을 기반 상태 기반 구성 요소 인 것으로의 결과 JSF의 그 장애인, 읽기 전용 또는 렌더링 속성이 변경됩니다.

    은 JSF 개발자 그래서 장애인 = "# {하지 user.hasRole ( 'ADMIN')}"와 같은 관리 역할에 대한 이러한 부울 속성에서 사용자의 역할을 확인하고 해커가 ISN이 그와 같은 방법으로 그것을 조작 할 경우 무슨 일이 일어날 지 상상 't 관리자가 아닌 사용자를 위해 더 이상 사용할 수 없습니다. 즉, 단지 서버 측을 통해 언급 한 특성 (하고 필요한 속성과 모든 컨버터 등 검증, 이벤트 리스너를) 변경할 수 있습니다 이유를 정확히.

    요구 사항을 달성하기 위해 어떤 ClientBehaviorHolder 구성 요소에서 <아약스 F>를 당신은 사용할 수 있습니다. 당신은 JSF 생성 할 수있는 HTML

    를 통해 <시간 : panelGroup 레이아웃 = "블록"> 또한 ClientBehaviorHolder입니다 :

    <h:form>
        <h:panelGroup layout="block">
            Click this div to toggle the input.
            <f:ajax event="click" listener="#{bean.toggle}" render="input" /> 
        </h:panelGroup>
        <h:inputText id="input" ... disabled="#{not bean.enabled}" />
    </h:form>
    

    이것으로 (@RequestScoped가있는 명령 / CommandLink는 / 아약스 액션 / 리스너 방법은 # 5에 언급 된 이유로하지 작업 호출되지 것 또는 입력 값이 업데이트되지 않습니다) 관리 Bean을 @ViewScoped :

    @Named
    @ViewScoped
    public class Bean implements Serializable {
    
        private boolean enabled;
    
        public void toggle() {
            enabled = !enabled;
        }
    
        public boolean isEnabled() {
            return enabled;
        }
    
    }
    

    구체적인 문제에 관련없는, 당신이 실제로 JS / jQuery를 통해 JSF 구성 요소의 HTML 표현을 구하는 방법에 관심이있는 경우에는 다음과 같은 답변에 머리 :

  2. from https://stackoverflow.com/questions/29698008/how-to-disable-enable-jsf-input-field-in-javascript by cc-by-sa and MIT license