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