以前用WSAD wizard做的,都可以在JSP页面中解析到EL表达式,当然前提是JSP2.0的情况下。
今天遇到了一个莫名其妙的问题。刚下载Eclipse3.3+MyEclipse6.0体验的过程中,遇上了解析不到EL表达式的问题。经过好几个小时的琢磨终于发现了,给大家share一下:
问题就出在建Web Project的时候web.xml声明上。
web.xml声明部分一般分为如下版本的xsd,
web-app_2_2.xsd
web-app_2_3.xsd
web-app_2_4.xsd
web-app_2_5.xsd
更详细的列出各版本web.xml声明部分吧,如下:
web-app_2_2.xsd
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">
web-app_2_3.xsd
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Micr ......
自定义标签是让开发人员创建客户化的标签,并且在jsp文件中使用这些标签,这样可以使jsp代码更简洁!
首先这里先介绍从定义标签到使用标签的步骤:
1,创建自定义标签处理类,及相关类.class 并且把他们都放在WEB-INF/classes目录下
2,创建TLD标签库描述文件(.tld)文件,放在WEB-INF下或其子目录下
3,在wen.xml中声明所引用的标签库
4,jsp中使用标签库
接下来讲一步一步讲解
自定义标签处理类有其JSP Tag API,所以创建自定义标签处理类时只需要实现这些API来创建处理类.
第一个接口是JspTag,是每个标签都必须实现的接口,没有方法.
JspTag下面有两个接口Tag和SimpleTag接口,代表两个标签处理类方向,实现Tag标签的被称为传统标签,实现SimpleTag接口的被称为简单标签
传统标签
Tag接口定义了几个方法,也有一定的执行顺序,在遇到自定义标签时由容器自动调用这些方法
& ......
Jsp编码规范
1.1 文件后缀(File Suffixes)
文件类别 文件后缀
--------------------------------------
Java源文件 .java
Java字节码文件 .class
动态页面 .jsp
静态页面 .html
脚本文件 .js
1.2 常用文件名(Common File Names)
文件名 用途
------------------------------------------------
README 概述特定目录下所含内容的文件的首选文件名
2 缩进排版(Indentation)
4个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格 vs. 制表符)。一个制表符等于8个空格(而非4个)。
3 注释(Comments)
Jsp程序有两类注释:静态页面注释和Java注释.
静态页面注释: <!— express -->
Jsp注释: <%-- express --%>
4 Jsp语法(Syntax)
① JSP Element
② Syntax
③ Interpretation
---------------------------------------------------------------------------------------------
① JSP Expression
② <%= expression %>
③ Expressio ......
jsp中第一句:
<%@ page language="java" import="java.sql.*,java.util.*," contentType="text/HTML;charset=gb2312" pageEncoding="gb2312"%>
html中加上
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
通常这样就没有问题了。 .
再者: 导入js时候设置一下charset
<script language=JavaScript src="regcheckdata.js" charset="gb2312"></script>
但要保证一点就是: 所有的编码方式要保证一致。
再不行:
eclipse中js中文乱码解决...
可依次选择"window">>"preferences">>"general">>"content types"
在右边的窗口中打开列表,选中"JavaScript",在下面的"default encoding"右边的输入框中输入"GBK"或"GB2312"再点"update"按钮,再打开JS文件就可以.
应该感谢我吧。
如果没有提供选择向,在下面的“文件关联”中添加一个“*.js”,然后指定编码为"GBK"或"GB2312"就可以了 . ......
这主要是tomcat的问题,它会在传送的时候把字符集重新编译,等传过去的jsp页面接受的时候就会出现乱码,
不管在页面里如何设置字符集都没办法解决,这时候必须必须在tomcat安装目录里进行设置,
C:\Program Files\apache-tomcat-6.0.14\conf目录下 server.xml下 <Connector/>标签下 加一句 URIEncoding="GBK" 就好了
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK" /> ......
1.No getter method for property name problem(struts)
有一种可能是Bean没有写相应的get方法,例如变量userName的get方法是getUserName;
还有就是这个Bean为空;
2.
MyEclipse的自动添加struts和hibernate功能不能返回,请注意!
所以我先使用MyEclipse导入struts和hibernate,然后将它们的jar导入到另外一个新建的工程,这是我就不需要Myeclipse来给我管理依赖了。
3
.在增加对struts taglib支持时,请将对应的tld文件追加到web.xml文件中去:
例如:
<jsp-config>
<taglib>
<taglib-uri>http://struts.apache.org/tags-bean </taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld </taglib-location>
</taglib>
</jsp-config>
4.
如果出错说某个tag在tld文件中没有,则说明自己在jsp文件中使用的tag和使用的struts taglib版本不一致
例如:在struts1.1中的html:locale,在struts1.2中改为html:lang
5.
struts tag中可以使用scriptlets,但是在scriptlets中不能使用struts tag。
Any Struts tag will work only if you place ......