조건부 팝업 패널이있는 JSF 복합 컴포넌트

투석기

backing bean 메서드의 결과에 따라 팝업 패널을 표시하는 복합 구성 요소를 렌더링하려고합니다. 지금까지 성공하지 못했습니다. 도움을 주시면 감사하겠습니다.

  • GlassFish 4.1
  • 모자라 2.2
  • RichFaces 4.5.4

복합 구성 요소 (conditionalActionLink.xhtml) :

<ui:component
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:composite="http://java.sun.com/jsf/composite">

<composite:interface>
    <composite:attribute name="value"/>
    <composite:attribute name="style"/>
    <composite:attribute name="disabled"/>
    <composite:attribute name="render"/>
    <composite:attribute name="message" />
    <composite:attribute name="renderedBtn" type="java.lang.Boolean"/>
    <composite:attribute name="condition" required="true" method-signature="java.lang.Boolean action()"/>
    <composite:attribute name="execAction" required="true" method-signature="void action()"/>
</composite:interface>
<composite:implementation>
    <ui:debug hotkey="x" />
    <h:form>
        <a4j:commandLink id="actnlnx" value="#{cc.attrs.value}" oncomplete="#{managePurchases.billHasPaymentsApplied ? showMessage() : submitToServer() }" style="#{cc.attrs.style}" disabled="#{cc.attrs.disabled}"/>
        <a4j:jsFunction name="showMessage" onbegin="#{rich:component('noticeDialog')}.show()" execute="@form"/>
        <a4j:jsFunction name="submitToServer" action="#{cc.attrs.execAction}" render="#{cc.attrs.render}" execute="@form"/>             

        <rich:popupPanel id="noticeDialog" modal="true" autosized="true" resizeable="false" style="FONT-SIZE: large;">
            <f:facet name="header" style="FONT-SIZE: large;">
                <h:outputText value="Notice" />
            </f:facet>
            <f:facet name="controls">
                <h:outputLink value="#" onclick="#{rich:component('noticeDialog')}.hide(); return false;">
                    X
                </h:outputLink>
            </f:facet>
            <h:outputText value="#{cc.attrs.message}"/>
            <br/><br/>
            <h:commandButton value="Ok" onclick="#{rich:component('noticeDialog')}.hide(); return false;" style="FONT-SIZE: large;"/>
        </rich:popupPanel>  
    </h:form>
</composite:implementation>

호출 페이지 :

<cc:conditionalActionLink value="Delete" style="FONT-SIZE: large;text-decoration:none" message="This bill has payments applied. Please delete payments first." condition="#{managePurchases.billHasPaymentsApplied}" execAction="#{managePurchases.deleteBill}"/>

Btw, 복합 구성 요소에서 조건 값을 사용해야하지만 중첩 된 EL 표현식을 피하는 방법에 문제가 있습니다. oncomplete="#{cc.attr.condition ? showMessage() : submitToServer() }"

백킹 빈 :

public Boolean getBillHasPaymentsApplied(){
    applogger.entry();
    //if(bill.getPayments().size() > 0)
        return applogger.exit(true);
    //else
        //return applogger.exit(false);
}

public void deleteBill(){
    applogger.entry();

    applogger.debug("DELETE BILL HERE.");
    //billDaoBean.deleteBill(bill);

    applogger.exit();

}

나는 온라인에서 많은 검색을 통해 많은 조정을 시도했습니다. 이 특정 버전에서 오류 메시지는 다음과 같습니다.

javax.el.ELException : 'showMessage'함수를 찾을 수 없습니다.

이 행동을 달성 할 방법을 찾고 있습니다.

미리 도와 주셔서 감사합니다!

구성 요소 oncomplete속성은 . 여기서 EL 은 찾을 수없는 부울 값에 따라 또는 Java 메서드 를 호출하려고합니다 .<a4j:commandLink>StringshowMessage()submitToServer()

원하는 것은 StringJS 함수 이름을 사용하는 것이므로 작은 따옴표 사이에 함수 이름을 넣으면됩니다 String.

oncomplete="#{managePurchases.billHasPaymentsApplied ? 'showMessage()' : 'submitToServer()'}"

나는 RichFaces가 준비된 플레이 그라운드가 없기 때문에 (RichFaces도 사용하지 않았습니다), 그래서 테스트 할 수는 없지만 트릭을해야합니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JSF 렌더링 팝업으로 인해 manegbean 조건이 발생합니까?

분류에서Dev

React :이 부모 컴포넌트 참조를 자식 컴포넌트에 전달해야합니까?

분류에서Dev

컴포넌트 결합에 반응하여 조건부 렌더링을 수행하는 방법

분류에서Dev

컴포넌트 클래스 외부에서 업데이트 컴포넌트 소품에 반응

분류에서Dev

컴포넌트가 사용되는 위치에 따라 반응 컴포넌트에 조건부로 className 적용

분류에서Dev

Parent-class에 의해 전달 된 이벤트 핸들러에서 하위 컴포넌트의 상태를 조건부로 업데이트

분류에서Dev

이미 렌더링 된 ReactJS 컴포넌트를 해당 컴포넌트 외부에서 업데이트하는 올바른 접근 방식

분류에서Dev

복합 컴포넌트-외부 Bean 값 변경

분류에서Dev

컴포넌트 외부에서 recoilJS의 상태를 업데이트하는 방법이 있습니까?

분류에서Dev

ReactJS.NET-한 컴포넌트의 props를 다른 컴포넌트에서 어떻게 업데이트합니까?

분류에서Dev

주석이있는 JSF 사용자 컴포넌트 속성 특성

분류에서Dev

React-Router Redirect는 컴포넌트의 일부만 렌더링합니다.

분류에서Dev

컴포넌트 또는 html 태그가 아닌 컴포넌트 태그의 내부 텍스트에 액세스합니까?

분류에서Dev

vue 컴포넌트에서 하위 컴포넌트를 클릭 할 때 상위 컴포넌트에서 데이터를 업데이트하려면 어떻게해야합니까?

분류에서Dev

React Hooks : 부모 컴포넌트에서 useEffect에 의해 초기화 된 props를 업데이트하는 방법

분류에서Dev

조건부로 React 컴포넌트를로드하려면 어떻게해야합니까?

분류에서Dev

React에서 조건부로 레이아웃을 컴포넌트에 적용하는 방법

분류에서Dev

React 컴포넌트 상태에서 객체의 개별 속성을 어떻게 업데이트합니까?

분류에서Dev

메소드가 호출 될 때 React 컴포넌트가 정의 적으로 업데이트합니까?

분류에서Dev

후크를 사용하는 React 컴포넌트를 조건부로 렌더링하는 방법

분류에서Dev

두 패널 관찰간에 발생하는 이벤트를 기반으로하는 조건부 병합

분류에서Dev

React 컴포넌트에서 조건부 검사를 두 번 수행하는 방법

분류에서Dev

조건부 업데이트 MariaDB (MySQL)

분류에서Dev

벡터의 조건부 업데이트

분류에서Dev

JAX의 조건부 업데이트?

분류에서Dev

Python Pandas 조건부 업데이트

분류에서Dev

React + Redux 컴포넌트 업데이트 후 작업 수행

분류에서Dev

컴포넌트 업데이트시 Redux에서 React 컴포넌트 스크롤 위치 저장

분류에서Dev

CakePHP 인증 컴포넌트는 리디렉션 작업 전에 HTTP 상태를 반환합니까?

Related 관련 기사

  1. 1

    JSF 렌더링 팝업으로 인해 manegbean 조건이 발생합니까?

  2. 2

    React :이 부모 컴포넌트 참조를 자식 컴포넌트에 전달해야합니까?

  3. 3

    컴포넌트 결합에 반응하여 조건부 렌더링을 수행하는 방법

  4. 4

    컴포넌트 클래스 외부에서 업데이트 컴포넌트 소품에 반응

  5. 5

    컴포넌트가 사용되는 위치에 따라 반응 컴포넌트에 조건부로 className 적용

  6. 6

    Parent-class에 의해 전달 된 이벤트 핸들러에서 하위 컴포넌트의 상태를 조건부로 업데이트

  7. 7

    이미 렌더링 된 ReactJS 컴포넌트를 해당 컴포넌트 외부에서 업데이트하는 올바른 접근 방식

  8. 8

    복합 컴포넌트-외부 Bean 값 변경

  9. 9

    컴포넌트 외부에서 recoilJS의 상태를 업데이트하는 방법이 있습니까?

  10. 10

    ReactJS.NET-한 컴포넌트의 props를 다른 컴포넌트에서 어떻게 업데이트합니까?

  11. 11

    주석이있는 JSF 사용자 컴포넌트 속성 특성

  12. 12

    React-Router Redirect는 컴포넌트의 일부만 렌더링합니다.

  13. 13

    컴포넌트 또는 html 태그가 아닌 컴포넌트 태그의 내부 텍스트에 액세스합니까?

  14. 14

    vue 컴포넌트에서 하위 컴포넌트를 클릭 할 때 상위 컴포넌트에서 데이터를 업데이트하려면 어떻게해야합니까?

  15. 15

    React Hooks : 부모 컴포넌트에서 useEffect에 의해 초기화 된 props를 업데이트하는 방법

  16. 16

    조건부로 React 컴포넌트를로드하려면 어떻게해야합니까?

  17. 17

    React에서 조건부로 레이아웃을 컴포넌트에 적용하는 방법

  18. 18

    React 컴포넌트 상태에서 객체의 개별 속성을 어떻게 업데이트합니까?

  19. 19

    메소드가 호출 될 때 React 컴포넌트가 정의 적으로 업데이트합니까?

  20. 20

    후크를 사용하는 React 컴포넌트를 조건부로 렌더링하는 방법

  21. 21

    두 패널 관찰간에 발생하는 이벤트를 기반으로하는 조건부 병합

  22. 22

    React 컴포넌트에서 조건부 검사를 두 번 수행하는 방법

  23. 23

    조건부 업데이트 MariaDB (MySQL)

  24. 24

    벡터의 조건부 업데이트

  25. 25

    JAX의 조건부 업데이트?

  26. 26

    Python Pandas 조건부 업데이트

  27. 27

    React + Redux 컴포넌트 업데이트 후 작업 수행

  28. 28

    컴포넌트 업데이트시 Redux에서 React 컴포넌트 스크롤 위치 저장

  29. 29

    CakePHP 인증 컴포넌트는 리디렉션 작업 전에 HTTP 상태를 반환합니까?

뜨겁다태그

보관