簡體   English   中英

具有JSF主體的JSP自定義標簽

[英]JSP Custom tag with JSF body

我想為網站創建自己的模板機制。 我已經制作了兩個名為“ TemplateInsert”和“ TemplateFor”的自定義標簽,它們將像這樣使用它們:

<prefix:insert templateFile="someFile>
    <prefix:for name="body">
        some content here
    </prefix:for>

    other prefix:for tags...

</prefix:insert>

除非您的“內容”中包含JSF標簽,否則這將非常有效。 服務器似乎沒有解析它們。 有誰知道我該如何解決?

干杯!

這是Facelets根據JSF 2.0 / Java EE 6成功實現JSP的眾多原因之一。JSP提供的模板功能很少。 但是,如果按照其docbook單獨安裝,則可以在JSF 1.x上使用Facelets1.x。

Facelets確實已經提供了您的功能要求。 一個例子:

template.xhtml

<!DOCTYPE html>
<html lang="en"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
>
    <head>
        <title><ui:insert name="title" /></title>
    </head>
    <body>
        <ui:insert name="body" />
    </body>  
</html>

page.xhtml

<ui:composition template="template.xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
>
    <ui:define name="title">Page title</ui:define>
    <ui:define name="body">
        <h:outputText value="JSF tags just work here." />
    </ui:define>
</ui:composition>

我想說,選擇Facelets作為JSF視圖技術,而不是重新發明基於JSP的技術。

暫無
暫無

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

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