1
在編寫符合XML標準的JSP時,很難根據輸入生成不同的HTML標籤(例如,在輸出<table>
中的不同標籤時)。XSLT <xsl:element>在JSP中等價嗎?
標準解決方案是使用if
或choose
標籤,但在HTML標籤內共享代碼成爲問題。例如。
<c:choose>
<c:when test="${i.tag = 'th'}><th> <!-- 100 lines of code --> </th></c:when>
<c:when test="${i.tag = 'td'}><td> <!-- 100 lines of code duplicated?! --> </td></c:when>
</c:choose>
XSLT提供了一個<xsl:element>
標籤,它允許你建立一個標籤及其屬性標準的XML語法。 JSP中的任何標籤庫中是否有這樣的標籤?
這不是有效的XML,這與一些自動化工具,我用的干擾。 –
@ billc.cn你可以使用例如' '而不是'
我最終做了類似於@ Uooo的評論。由於我們的XML閱讀器未配置爲驗證HTML名稱空間中的標記,因此這種黑客行爲有效。 –
編號JSP需要在構建樹時瞭解標記。這使得JSP的操作更加強大
但是,您可以通過將重複代碼分解爲單獨的JSP文件幷包含它,具體取決於您使用的JSP的實現。
或者,您可以創建一個包含100行代碼的JSP標記。這可能不值得。
最後,你可以,而不是使用
th
和td
,使用上td
樣式打造td
樣子th
。這將使元素看起來像我知道我沒有風格完全正確的,但你可以使用
styleClass
,而不是在你的CSS用它玩。來源
2013-10-16 12:55:08
您可以創建一個包含「100行代碼」的獨立JSP幷包含它。
替換您
<!-- 100 lines of code -->
有:而在你
hundredLines.jsp
:來源
2013-10-23 08:45:10 Uooo
+1爲我的答案作出貢獻。謝謝。 –
相關問題