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">