大家总是不喜欢看到<%和%>在jsp页面上,其实我们可以使用比较优雅的xml方式来表达
1 ,隐含的注释
JSP语法:<%-- 内容 --%>
XML语法:无
2 ,变量或函数的声明
JSP语法:<%! declaration; [ declaration; ] +... %>
例如:
<%!
int i= 0 ; int a,b,c;
Color red= new Color ( 255 , 0 , 0 ) ;
private static final String OK= "ok" ;
public String getAnswer (){
return OK;
}
%>
XML语法:
<jsp:declaration>
declartion; [ declaration; ] +...
</jsp:declaration>
例如:
<jsp:declaration>
int i= 0 ; int a,b,c;
Color red= new Color ( 255 , 0 , 0 ) ;
private static final String OK= "ok" ;
public String getAnswer (){
return OK;
}
</jsp:declaration>
3 ,表达式
JSP语法:<%=expression%>
例如:
<%=Math.round ( Math.random* 100 ) %>
XML语法:
<jsp:expression>
expression
</jsp:expression>
例如:
<jsp:expression>
Math.round ( Math.random* 100 )
</jsp:expression>
4 ,代码片断
JSP语法:<% your java code %>
例如:
<%
String username=request.getParameter ( "username" ) .trim () ;
String password=request.getParameter ( "password" ) .trim () ;
%>
XMl语法:
<jsp:scriptlet>
your java code
</jsp:scriptlet>
例如:
<jsp:scriptlet>
String username=request.getParameter ( "username" ) .trim () ;
String password=request.getParameter ( "password" ) .trim () ;
</jsp:scriptlet>
5 ,指令:include
JSP语法:<%@include file= "relativeURL" %>
例如:<%@include file= "static_head.html" %>
XML语法:<jsp:directive.include file= "relativeURL" />
例如:<jsp:directive.include file= "static_head.html" />
6 ,指令:page
JSP语法:<%@page attribtes%>
例如:<%@page import = "java.util.HashMap" %>
XML语法:<jsp:directive.page attribute/>
例如:<jsp:directive.page import = "java.util.HashMap" />
7 ,指令:taglib
JSP语法:<%@taglib uri= "URIForLibrary" prefix= "tagPrefix" %>
XML语法:无
对于jsp操作而言,本来就是xml格式。
下面使用xml表达方式书写一个jsp页面
example.jsp
<jsp:directive.page contentType= "text/html;charset=GBK" />
<jsp:directive.page import = "java.util.*,java.text.*" />
<jsp:declartion>
public String getCustomDate ( Date,date,String pattern ){
SimpleDateFormat format= new SimpleDateFormat () ;
format.applyPattern ( pattern ) ;
return format.format ( date ) ;
}
</jsp:declartion>
<jsp:scriptlet>
Date date= ( Date ) request.getAttribute ( "date" ) ;
String dateStr=getCustomDate ( date, "yyyy-MM-dd,hh:mm:ss" ) ;
</jsp:scriptlet>
<div style= "font-size:11pt" >
显示时间:<jsp:expression>dateStr</jsp:expression>
</div>