web.xml从2.3到2.4的issue

晨曦之光 发布于 2012/04/25 16:16
阅读 227
收藏 0
1,在web.xml不认<taglib>解决办法:   
如果是头是这样的<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">    
直接在后面加   
<taglib>  
  <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>  
  <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>  
</taglib>  
如果头是这样的   
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
在后面加   
<jsp-config>  
<taglib>  
  <taglib-uri>/WEB-INF/validator-user.tld</taglib-uri>  
  <taglib-location>/WEB-INF/validator-user.tld</taglib-location>  
</taglib>  
</jsp-config>  

2,应用部署运行的时候出现JSP异常, 发生在使用JSTL库的时候: According to TLD or attribute directive in tag file, attribute value does not accept any expressions, 可能是因为使用了JSP2.0版本, 同时又没有使用JSTL core库的备用版本(RT库), 以下有两种处理方法: JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL) JSP中使用<%@ taglib uri=http://java.sun.com/jstl/core prefix="c"%>在2.3版本都可以,在2.4就不行了, 难道是版本不兼容吗? 只要将<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> 改为<%@ taglib uri=http://java.sun.com/jstl/core_rt prefix="c"%>
同时要用1.1版本的standard.jar
3,XML里使用本地xsd文件的方法:
<p:Person xmlns:p="http://tempuri.org/XMLSchema.xsda"
xmlns="http://tempuri.org/XMLSchema.xsd1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tempuri.org/XMLSchema.xsda D:\\Temp\\schemaTest.xsdaa ">







原文链接:http://blog.csdn.net/kkdelta/article/details/7268332
加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部