簡體   English   中英

JSF 1.2 自定義組件 - 來自 Backing Bean 的正文內容

[英]JSF 1.2 Custom Component - Body Content From Backing Bean

我正在使用 JSF 1.2 開發自定義組件。 我的標簽 class 擴展了UIComponentELTag並具有ValueExpression類型的變量。 這些值是從標簽的相應屬性中設置的(使用setProperties函數),例如

<sr:show name="#{backingBean.name}" ...> #{backingBean.mainContent}</sr:show>

當我嘗試將標簽的 bodyContent 作為綁定值時,我被卡住了。 這就是我的進展:

public int doAfterBody() throws JspException{
    if(bodyContent!=null) {
        String body = bodyContent.getString();
        FacesContext context = FacesContext.getCurrentInstance();
        UIComponent component = super.findComponent(context);
        MyComp myComp= (MyComp) component;
        myComp.setMain(body);
    }
    bodyContent.clearBody();
    return SKIP_BODY;
}

如果標記的主體不包含綁定值,則此代碼可以正常工作。 我想檢查主體是否具有綁定值,然后從 bean 設置值。

在 JSF 1.1 中,我使用isValueReference(body)進行了檢查。 如何在 JSF 1.2 中實現這一點? 我在任何地方都找不到任何將正文內容作為綁定值的示例。

為什么不簡單地添加另一個變量,例如“內容”並將其綁定到您要呈現的正文?

<sr:show name="#{backingBean.name}" text="#{backingBean.mainContent}" />

或者簡單地說:

<sr:show bean="#{backingBean} />

並渲染整個地段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM