【Java开源代码栏目提醒】:网学会员为广大网友收集整理了,WebAction.java,希望对大家有所帮助!
package com.relationinfo.finance.servlet;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public abstract class WebAction
{
private static SimpleDateFormat df = new SimpleDateFormat( "dd-MMM-yyyy" );
/**
* Method 'execute'
* 执行方法
* @param servlet
* @param request
* @param response
* @throws ServletException
*/
public abstract void execute(WebController servlet, HttpServletRequest request, HttpServletResponse response) throws ServletException;
/**
* Method 'forward'
* 转向方法,实现URL的跳转
* @param servlet
* @param request
* @param response
* @param page
* @throws ServletException
*/
public void forward(WebController servlet, HttpServletRequest request, HttpServletResponse response, String page) throws ServletException
{
try {
ServletContext ctx = servlet.getServletContext();
RequestDispatcher dispatcher = ctx.getRequestDispatcher( page );
if (dispatcher == null) {
throw new RuntimeException( "No dispatcher found for " + page );
}
dispatcher.forward( request, response );
}
catch (Exception e) {
e.printStackTrace();
throw new ServletException( "Failed to process request", e );
}
}
/**
* 解析String
* @param request
* @param paramName
* @return
*/
public String parseString(HttpServletRequest request, String paramName) {
return request.getParameter( paramName );
}
/**
* 解析BigDecimal
* @param request
* @param paramName
* @return
*/
public BigDecimal parseBigDecimal(HttpServletRequest request, String paramName) {
return new BigDecimal( parseString(request, paramName) );
}
/**
* 解析Date
* @param request
* @param paramName
* @return
* @throws ParseException
*/
public Date parseDate(HttpServletRequest request, String paramName)
throws ParseException {
synchronized (df) {
return df.parse(request.getParameter( paramName ));
}
}
/**
* 解析Short
* @param request
* @param paramName
* @return
*/
public short parseShort(HttpServletRequest request, String paramName) {
return Short.parseShort( parseString(request, paramName) );
}
/**
* 解析Int
* @param request
* @param paramName
* @return
*/
public int parseInt(HttpServletRequest request, String paramName) {
return Integer.parseInt( parseString(request, paramName) );
}
/**
* 解析Long
* @param request
* @param paramName
* @return
*/
public long parseLong(HttpServletRequest request, String paramName) {
return Long.parseLong( parseString(request, paramName) );
}
/**
* 解析Float
* @param request
* @param paramName
* @return
*/
public float parseFloat(HttpServletRequest request, String paramName) {
return Float.parseFloat( parseString(request, paramName) );
}
/**
* 解析Double
* @param request
* @param paramName
* @return
*/
public double parseDouble(HttpServletRequest request, String paramName) {
return Double.parseDouble( parseString(request, paramName) );
}
}