<x:out select =“”>不接受变量</x:out>

时间:2013-11-30 16:32:05

标签: xml jsp

感谢您的时间。我正在上课做作业,让自己陷入困境。我对JSP不太熟悉,这是我第一周使用它,所以我不知道如何解决这个问题。如何获取x:out select =“”接受变量?比如我想要的是:

<x:out select="$output/stores/store[${x}]/name" /> <br>

错误是“属性选择不接受任何表达式”。我的问题是我该如何解决这个问题?我的目标是创建一个循环遍历我正在加载的所有XML。

也有人知道如何获取xml文件中的元素数量吗?我注意到在XML中我正在加载有变量调用=“6”总计=“6”我只是不知道如何访问它们。

如果您需要,以下是我的完整代码。

谢谢, 托米

<%-- 
    Document   : newjsp
    Created on : Nov 30, 2013, 8:41:46 AM
    Author     : c8k
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="javax.xml.parsers.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

        <c:import var="stores" url="http://api.remix.bestbuy.com/v1/stores(area(${param.zip},${param.dist}))?show=storeId,name,distance,lat,lng&apiKey=fuzgmrj4nv8v9ummatn78m3k"/>
        <x:parse xml="${stores}" var="output"/>
        <b>The first stores information is:</b> <br>

        <%! 
            boolean b = true;
            int x = 1;

        %>


            <x:out select="$output/stores/store[${x}]/storeId" /> <br>
            <x:out select="$output/stores/store[1]/name" /> <br>
            <x:out select="$output/stores/store[1]/distance" /> <br>
            <x:out select="$output/stores/store[1]/lat" /> <br>
            <x:out select="$output/stores/store[1]/lng" /> <br>

    </body>
</html>

1 个答案:

答案 0 :(得分:-1)

更改&lt;%@ taglib prefix =“c”uri =“http://java.sun.com/jstl/core”%&gt;不适合我。对于我的项目(web-app version =“3.0”)IDE(MyEclipse)我看到x.tld的配置文件。选择的false是不允许选择外观$ {}或&lt;%=%&gt因此,我有一种方法可以在web.xml中作弊。

1。<jsp-config> <taglib> <taglib-uri>/huang</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> </jsp-config>

添加到web.xml

2.将新的taglib-url名称“huang”声明为我的jsp文件,如下所示:

<%@ taglib prefix="x" uri="/huang" %>

3.使用<x:out select="$casexml//案例//${node.name }" />

我可以得到正确的结果