终极解法According to TLD or attribute directive in tag file, attribute select does not accept any expressions

3天硬是是把这个问题解决了 有时候突然上个厕所灵感就来了

第一次向用JSTL解析xml 然后我想遍历整个xml文档打印出来

居然不让我输入变量 那让我怎么办啊

在网上各种找答案

说什么<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>变为:
<%@ taglib prefix="c" uri=http://java.sun.com/jstl/core_rt  %>

什么反应都没有啊 然后又上stackoverflow

也没有解决问题

突然灵感来了 我就去看它的源文件

这是eclipse自带的jstl包里面规定解析的地方

打开一看恍然大悟啊

一看就明白啊 原理解析的时候工具是从这找的配置文件

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">
时间: 2024-10-26 07:00:54

终极解法According to TLD or attribute directive in tag file, attribute select does not accept any expressions的相关文章

According to TLD or attribute directive in tag file, attribute items does not accep t any expressions

According to TLD or attribute directive in tag file, attribute items does not accep t any expressions 严重: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: /selectorTagtest.jsp(26,8) According to TLD or attribute di

关于According to TLD or attribute directive in tag file, attribute value does not accept any expressions异常

在做项目时遇到了这个异常,网上一查才知道 JSTL core库的版本问题. 当我们在web.xml中使用: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> ..... </web-app> 时 我们在jsp才用&

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

在运用标准标签库和EL表达式写JSP页面的时候,有时候会报500错误 执行某jsp页面时,弹出如标题所示异常,jsp代码如下: <%@ page language="java" contentType="text/html;charset=gbk" %><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %><%@ taglib pr

jstl 中无法使用EL语句。异常信息:According to TLD or attribute directive in tag file, attribute value does not accept any expressions

JSTL 标签库的有两种 taglib 伪指令, 其中 RT 库即是依赖于 JSP 传统的请求时属性值, 而不是依赖于 EL 来实现: 只要将 <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> 改为 <%@ taglib uri=http://java.sun.com/jstl/core_rt prefix="c"%>

According to TLD or attribute directive in tag file, attribute value does not accept any expressions报错解决办法

1.出现原因: 导入的uri由于不是正确的导致这个jstl不支持el的表达式 jstl uri导入错误:  1 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 不支持el表达式 修改方法 将其改为  1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

jsp 标签 According to TLD or attribute directive in tag file.错误

在确保jar包已经添加的情况下 把<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> 改为: <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> 就可以了

textcolor 设置selecter 报错: &lt;item&gt; tag requires a &#39;color&#39; attribute or child tag defining a drawab

如果是textview的textcolor属性设置成selecter,则需要这么写这个selecter: <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <i

Android Studio调试时不能识别设备,终极解法

1. 设备没有打开开发者选项,允许USB调试. 这种原因基本不存在,因为调试的人一定知道要允许USB调试. 2. 电脑上没有设备对应的驱动,只能把设备当成普通的USB,不会识别为安卓设备. 在电脑上安卓豌豆荚,豌豆荚在识别设备过程中会安装设备驱动,解决识别问题. 3. 设备Adb被其它应用占用,导致Android Studio识别不了. 如第2点所说,设备驱动安装完成后,卸载掉电脑和手机上的豌豆荚,否则豌豆荚会占用Adb,导致Android Studio识别不了. 原文地址:https://ww

EL表达式错误attribute items does not accept any expressions

解决方法是将 <%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%> 改成 <%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>