大家总是不喜欢看到<%和%>在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>