我正在處理一個需要動態生成表單的項目。用戶選擇他想要放在屏幕上的組件,程序將其添加到窗體中。爲此,我使用XML來定義表單的當前狀態,並且乍一看我認爲使用XSLT進行JSF轉換,但現在我正在評估JSTL。 關於最後一個,我有一個問題。在JSF中解析JSTL XML
假設我有這樣的XML文件(有兩個inputTexts問卷):
<questionnaire>
<component name='input'>
<id>input1</id>
</component>
<component name='input'>
<id>input2</id>
</component>
</questionnaire>
這JSTL文件:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<x:parse var="doc" xml="${questionarioXSLBean.xml}"/>
<x:forEach var="n" select="$doc/questionario/componente">
<x:if select="$n/@nome = 'input'">
<x:set var="id" select="$n/id" />
<h:inputText id="#{id}"/>
</x:if>
</x:forEach>
的問題是在這條線:<h:inputText id="#{id}"/>
「事業#{id}
沒有按不會返回任何東西(我想使用xml文件中的值並在id變量中賦值)。
任何人都可以幫助我嗎? 在此先感謝! P.S.
感謝Gaurav。關於XSLT,我遇到了一個問題,我無法找到解決方案。也許你能以某種方式幫助我。問題在於,在轉換之後,生成的組件標籤總是在其中包含一個名稱空間定義,這樣JSF就無法識別組件編碼。例如,生成而不是生成 。有沒有壓制它的方法? –
2010-10-13 10:06:34
這需要查看您用於生成JSF的工具/代碼。從頭腦裏想不出什麼 – 2010-10-13 20:02:43