Java 通过属性或主体将XML文档传递给JSP自定义标记
我想知道是否可以将xml文档传递给纯jstl定义的JSP自定义标记,如下所示: 自定义标记的主体,例如:Java 通过属性或主体将XML文档传递给JSP自定义标记,java,xml,jsp,jakarta-ee,jstl,Java,Xml,Jsp,Jakarta Ee,Jstl,我想知道是否可以将xml文档传递给纯jstl定义的JSP自定义标记,如下所示: 自定义标记的主体,例如: <mt:mytag> <people> <person name="bob" age="23" /> <person name="sue" age="45" /> <person name="moe" age="35" /> </people> <mt
<mt:mytag>
<people>
<person name="bob" age="23" />
<person name="sue" age="45" />
<person name="moe" age="35" />
</people>
<mt:mytag>
请注意,在非纯JSTL(使用java代码)中处理主体内容或属性链接是完全可能的,只是想知道JSTL+EL是否有这样的功能
编辑:分辨率
看起来Netbeans IDE有一个默认情况下不添加JSTL库的接口。您可以通过库->添加库->导入->Jstl 1.1->添加库来修复它
<%@ taglib tagdir="/WEB-INF/tags" prefix="mt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<c:set var="message">
<people>
<person name="bob" age="23" />
<person name="sue" age="45" />
<person name="moe" age="35" />
</people>
</c:set>
<mt:mytag message="${message}" />
实际上,您的第一个代码块(使用body)也适用于我。
如果要使用文件,请使用以下命令
<%@ taglib tagdir="/WEB-INF/tags" prefix="mt" %>
<mt:mytag messageUrl="http://link.to.document.xml" />
标签文件
<%@tag description="xml parser" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<%@attribute name="messageUrl"%>
<c:import url="${messageUrl}" var="message" />
<x:parse var="a" doc="${message}" />
<x:forEach var="current" select="$a/people/person">
<ul>
<li>
Name <x:out select="$current/@name" /> age <x:out select="$current/@age" />
</li>
</ul>
</x:forEach>
-
姓名年龄
关于您的错误消息,请告诉我们您正在使用哪个web服务器。另外,请告诉我们您下载了哪些JSTL JAR以及从何处下载。使用GlassFish 3.1.2,它与Netbeans 7.2.1一起打包,就像是Netbeans配置错误一样(错误报告中完全不透明)。我不得不手动添加jstl库。一个主要的WTF,但是谢谢你的回答!
<%@ taglib tagdir="/WEB-INF/tags" prefix="mt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<c:set var="message">
<people>
<person name="bob" age="23" />
<person name="sue" age="45" />
<person name="moe" age="35" />
</people>
</c:set>
<mt:mytag message="${message}" />
<%@ taglib tagdir="/WEB-INF/tags" prefix="mt" %>
<mt:mytag messageUrl="http://link.to.document.xml" />
<%@tag description="xml parser" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<%@attribute name="messageUrl"%>
<c:import url="${messageUrl}" var="message" />
<x:parse var="a" doc="${message}" />
<x:forEach var="current" select="$a/people/person">
<ul>
<li>
Name <x:out select="$current/@name" /> age <x:out select="$current/@age" />
</li>
</ul>
</x:forEach>