利用xml+xsl快速生成大量JSP的常用代码的方法.

本文介绍了一种利用XML和XSL技术快速生成JSP页面代码的方法,通过定义XML模板并结合XSL样式表进行转换,可以批量生成带有参数获取逻辑的JSP页面,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用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

变量名字参数名字变量类型变量来源默认值备注
rloginusernameloginusernameStringrequestlizongbo用户的登录名
rloginusernameloginusernameStringrequestlizongbo用户的登录名
rloginusernameloginusernameStringrequestlizongbo用户的登录名
suserpassuserpassStringsessionpassword存放在session里的密码
suserpassuserpassStringsessionpassword存放在session里的密码
suserpassuserpassStringsessionpassword存放在session里的密码
clastlogintimelastlogintimelongcookie0用户最近一次的登录时间
clastlogintimelastlogintimelongcookie0用户最近一次的登录时间
clastlogintimelastlogintimelongcookie0用户最近一次的登录时间
生成好的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);
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值