利用xml+xsl快速生成大量JSP的常用代码的方法.
参考Jbuilder的Servlet向导来使用xml+xsl产生JSP的常用代码。
xml样本:
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="jspram.xsl"?>
<jsp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="jspsrcgen.xsd">
<param>
<variable>rloginusername</variable>
<name>loginusername</name>
<type>String</type>
<src>request</src>
<default>lizongbo</default>
<desc>用户的登录名</desc>
</param>
<param>
<variable>clastlogintime</variable>
<name>lastlogintime</name>
<type>long</type>
<src>cookie</src>
<default>0</default>
<desc>用户最近一次的登录时间</desc>
</param>
<param>
<variable>suserpass</variable>
<name>userpass</name>
<type>String</type>
<src>session</src>
<default>password</default>
<desc>存放在session里的密码</desc>
</param>
</jsp>
xsl文件略。
转换后的效果图和相关代码:
testjsp.jsp变量名字
参数名字
变量类型
变量来源
默认值
备注
rloginusername
loginusername
String
request
lizongbo
用户的登录名
rloginusername
loginusername
String
request
lizongbo
用户的登录名
rloginusername
loginusername
String
request
lizongbo
用户的登录名
suserpass
userpass
String
session
password
存放在session里的密码
suserpass
userpass
String
session
password
存放在session里的密码
suserpass
userpass
String
session
password
存放在session里的密码
clastlogintime
lastlogintime
long
cookie
0
用户最近一次的登录时间
clastlogintime
lastlogintime
long
cookie
0
用户最近一次的登录时间
clastlogintime
lastlogintime
long
cookie
0
用户最近一次的登录时间
生成好的java代码:
<%@page import="com.lizongbo.util.JSPUtil"%>
//用户的登录名
String rloginusername = JSPUtil. getParameter(request,"loginusername",lizongbo);
//用户的登录名
String rloginusername = JSPUtil. getParameter(request,"loginusername",lizongbo);
//用户的登录名
String rloginusername = JSPUtil. getParameter(request,"loginusername",lizongbo);
//存放在session里的密码
String suserpass = JSPUtil.getAttribute(session,"userpass",password);
//存放在session里的密码
String suserpass = JSPUtil.getAttribute(session,"userpass",password);
//存放在session里的密码
String suserpass = JSPUtil.getAttribute(session,"userpass",password);
//用户最近一次的登录时间
long clastlogintime = JSPUtil. getValue(request.getCookies(),"lastlogintime",0);
//用户最近一次的登录时间
long clastlogintime = JSPUtil. getValue(request.getCookies(),"lastlogintime",0);
//用户最近一次的登录时间
long clastlogintime = JSPUtil. getValue(request.getCookies(),"lastlogintime",0);
我封装的JSPUtil代码片断:
public static string getparameter(httpservletrequest request, string name,
string defval) {
string param = request.getparameter(name);
return (param != null ? param : defval);
}
public static boolean getparameter(httpservletrequest request, string name,
boolean defval) {
string bv = request.getparameter(name);
return bv == null ? defval : parseboolean(bv);
}
public static double getparameter(httpservletrequest request, string name,
double defval) {
return parsedouble(request.getparameter(name), defval);
}
public static float getparameter(httpservletrequest request, string name,
float defval) {
return parsefloat(request.getparameter(name), defval);
}
public static int getparameter(httpservletrequest request, string name,
int defval) {
return parseint(request.getparameter(name), defval);
}
public static long getparameter(httpservletrequest request, string name,
long defval) {
return parselong(request.getparameter(name), defval);
}
public static short getparameter(httpservletrequest request, string name,
short defval) {
return parseshort(request.getparameter(name), defval);
}