Tôi muốn tạo một JSP bằng cách sử dụng thẻ XSLT và <x:transform>
. Nhưng tôi không có tệp XML trên hệ thống tệp của mình và tôi không thể nhập tệp đó như: <c:import url="./xml/MyXml.xml" var="xmldoc"/>
. Nó được tạo động trong mã Java và được đặt làm Chuỗi để yêu cầu thuộc tính. tôi cố gắng làm điều đó như thế này:Tôi có thể tạo một JSP từ XML được tạo động không?
<div id="mydiv">
<c:set var="xmldoc">
<c:out value="${requestScope.someXmlString}"/>
</c:set>
<c:import url="./xsl/MyStylesheet.xsl" var="xsltdoc"/>
<x:transform xml="${xmldoc}" xslt="${xsltdoc}"/>
</div>
hoặc
<div id="mydiv">
<c:set var="xmldoc" value="${requestScope.someXmlString}">
<c:import url="./xsl/MyStylesheet.xsl" var="xsltdoc"/>
<x:transform xml="${xmldoc}" xslt="${xsltdoc}"/>
</div>
Nhưng nó không làm việc. Có vẻ như <x:transform>
chỉ mong đợi một tài liệu xml (không phải là một chuỗi). Tôi làm nó như thế nào? Hay có cách nào khác để làm điều này?
Theo [this] (http://www.tutorialspoint.com/jsp/jstl_xml_transform_tag.htm) nó được cho là đang hoạt động. Tôi tin rằng, vấn đề đó là trong chỉ thị 'c: import'. Chỉ cho mục đích thử nghiệm cố gắng sử dụng URL tuyệt đối (fe 'http: // localhost: 8080/myapp/xsl/MyStylesheet.xsl'), và nếu nó hoạt động, thì bạn có thể thử chơi với' $ {pageContext.servletContext.servletContextName } 'hoặc một cái gì đó như thế này. – n1ckolas
Cảm ơn. Nhưng tôi đã thử kiểm tra nó như ' '. Va no đa hoạt động. Tôi nghĩ lý do không phải là 'c: import'. Nhưng tôi sẽ cố gắng chơi con đường whisky hơn. –
user2140493
Đó là những gì tôi đang nói: thay vì ' ' hãy thử sử dụng ' ' và xem điều gì xảy ra. –
n1ckolas