終極解法According to TLD or attribute directive in tag file, attribute select does not accept any expres

3天硬是是把這個問題解決了 有時候忽然上個廁所靈感就來了java

第一次向用JSTL解析xml 而後我想遍歷整個xml文檔打印出來node

竟然不讓我輸入變量 那讓我怎麼辦啊web

在網上各類找答案express

說什麼<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>變爲:
<%@ taglib prefix="c" uri=http://java.sun.com/jstl/core_rt  %>app

什麼反應都沒有啊 而後又上stackoverfloweclipse

也沒有解決問題jsp

忽然靈感來了 我就去看它的源文件工具

 

這是eclipse自帶的jstl包裏面規定解析的地方性能

打開一看恍然大悟啊spa

一看就明白啊 原理解析的時候工具是從這找的配置文件

 

tag就是每一個標籤的配置文件 拿out舉例子 紅色部分聲明的就是select這個屬性能不能有變量  rtexpravlue意思就是「變量表達式」

 

如今好了 想辦法把這個表達式改了就好了 直接改固然不得法 咱們只要「欺騙」下工具就好了

1複製出來其中一個文件,好比x.tld,而後再本地修改,由於在工具裏面文件只讀

2將x.tld裏面的你想要改的部分修改,好比我想讓select屬性有表達式 我就讓上面紅色的地方改爲true

3在工程的web.xml聲明這樣一段話

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

4在具體的jsp頁面引用這個你本身定義的"huang"新標籤

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

5OK了,如今就能夠用這個新標籤來看你想幹的事了

好比我如今就能夠拼接變量了

好比之前我

select裏面套變量的話就會報錯According to TLD or attribute directive in tag file, attribute select does not accept any expressions

如今:

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

兩個EL表達式搞定固然用<%=xx%>也能夠了

顯示正常

 

對了個人web版本是

 

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
相關文章
相關標籤/搜索