Struts2 BaseAction

public class BaseAction extends ActionSupport{

private static final long serialVersionUID = 1L;

/**
* 每页显示记录数
* 默认值:15条
*/
protected int pageSize = 8;

/**
* 获得HttpServletRequest对象
* @return HttpServletRequest
*/
protected HttpServletRequest getRequest(){
return ServletActionContext.getRequest();
}

/**
* 获得HttpServletResponse对象
* @return HttpServletResponse
*/
protected HttpServletResponse getResponse(){
return ServletActionContext.getResponse();
}

/**
* 获得HttpSession对象
* @param flag 如果当前session不存在是否重新创建session
* @return HttpSession
*/
protected HttpSession getSession(boolean flag){
return this.getRequest().getSession(flag);
}

/**
* 获得response输出对象
* @return PrintWriter
* @throws IOException
*/
protected PrintWriter getOut() throws IOException {
HttpServletResponse response = this.getResponse();
return response.getWriter();
}

/**
* 使用response输出流输出信息
* @return PrintWriter
* @throws IOException
*/
protected void print(String info) throws IOException{
HttpServletResponse response = this.getResponse();
response.getWriter().print(info);
}

protected Enumeration<?> getParameterNames(){
return this.getRequest().getParameterNames();

}

/**
* 获取参数值(字符串)
* @param parameterName 要获取参数的名称
* @return 参数的值
*/
protected String getParameterForString(String parameterName){
return this.getRequest().getParameter(parameterName);
}

/**
* 获取参数值(长整型)
* @param parameterName 要获取参数的名称
* @return 参数的值
*/
protected long getParameterForLong(String parameterName) throws NumberFormatException{
if (this.getRequest().getParameter(parameterName) == null || this.getRequest().getParameter(parameterName) == "") {
return 0;
}
return Long.parseLong(this.getRequest().getParameter(parameterName));
}

/**
* 获取参数值(整型)
* @param parameterName 要获取参数的名称
* @return 参数的值
*/
protected int getParameterForInt(String parameterName) throws NumberFormatException{
if (this.getRequest().getParameter(parameterName) == null || this.getRequest().getParameter(parameterName) == "") {
return 0;
}
return Integer.parseInt(this.getRequest().getParameter(parameterName));
}

/**
* 获取参数值(字符串数组)
* @param parameterName 要获取参数的名称
* @return 参数的值
*/
protected String[] getParameterValues(String parameterName) throws Exception{
return this.getRequest().getParameterValues(parameterName);
}

protected Map<?,?> getParameterMap() throws Exception{
return this.getRequest().getParameterMap();
}

/**
* 往request里面设置值
* @param key 要设置的关键字
* @param obj 要设置的值
*/
protected void setAttribute(String key,Object obj){
this.getRequest().setAttribute(key, obj);
}

/**
* 获得session的值
* @param <T> 泛型
* @param attrName
* @param clazz
* @return
*/
@SuppressWarnings("unchecked")
protected <T>T getSessionAttr(String attrName,Class<T> clazz){
return (T)this.getSession(false).getAttribute(attrName);
}

/**
* 往session里面设置值
* @param attrName 关键字
* @param obj 设置的值
*/
protected void setSessionAttr(String attrName,Object obj){
this.getSession(false).setAttribute(attrName, obj);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JPetStore是一个使用Java和Struts框架开发的示例应用程序,用于演示如何使用Java技术构建Web应用程序。 下面是JPetStore中的Struts代码示例: 1. struts-config.xml文件 这是Struts框架的配置文件,它定义了应用程序中所有操作的配置。 ```xml <struts-config> <form-beans> <form-bean name="AccountForm" type="org.mybatis.jpetstore.web.actions.AccountActionForm"/> <form-bean name="CatalogForm" type="org.mybatis.jpetstore.web.actions.CatalogActionForm"/> <form-bean name="OrderForm" type="org.mybatis.jpetstore.web.actions.OrderActionForm"/> </form-beans> <global-exceptions> <exception key="error.database" type="org.mybatis.jpetstore.web.util.DBException"/> <exception key="error.exception" type="org.mybatis.jpetstore.web.util.GeneralException"/> <exception key="error.login.required" type="org.mybatis.jpetstore.web.util.AuthenticationException"/> </global-exceptions> <global-forwards> <forward name="welcome" path="/actions/Catalog.action"/> <forward name="failure" path="/error.jsp"/> </global-forwards> <action-mappings> <action path="/actions/Catalog.action" name="CatalogForm" scope="request" type="org.mybatis.jpetstore.web.actions.CatalogAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Main.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/CatalogSearch.action" name="CatalogForm" scope="request" type="org.mybatis.jpetstore.web.actions.CatalogSearchAction"> <forward name="success" path="/WEB-INF/jsp/catalog/SearchProducts.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/ViewProduct.action" name="CatalogForm" scope="request" type="org.mybatis.jpetstore.web.actions.ViewProductAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Product.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/AddItemToCart.action" name="CatalogForm" scope="session" type="org.mybatis.jpetstore.web.actions.AddItemToCartAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Cart.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/RemoveItemFromCart.action" name="CatalogForm" scope="session" type="org.mybatis.jpetstore.web.actions.RemoveItemFromCartAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Cart.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/ViewCart.action" name="CatalogForm" scope="request" type="org.mybatis.jpetstore.web.actions.ViewCartAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Cart.jsp"/> </action> <action path="/actions/Checkout.action" name="OrderForm" scope="request" type="org.mybatis.jpetstore.web.actions.CheckoutAction"> <forward name="success" path="/WEB-INF/jsp/order/Checkout.jsp"/> </action> <action path="/actions/NewOrder.action" name="OrderForm" scope="request" type="org.mybatis.jpetstore.web.actions.NewOrderAction"> <forward name="success" path="/WEB-INF/jsp/order/ViewOrder.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/ListOrders.action" name="AccountForm" scope="request" type="org.mybatis.jpetstore.web.actions.ListOrdersAction"> <forward name="success" path="/WEB-INF/jsp/order/ListOrders.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/ViewOrder.action" name="OrderForm" scope="request" type="org.mybatis.jpetstore.web.actions.ViewOrderAction"> <forward name="success" path="/WEB-INF/jsp/order/ViewOrder.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/EditAccountForm.action" name="AccountForm" scope="request" type="org.mybatis.jpetstore.web.actions.EditAccountFormAction"> <forward name="success" path="/WEB-INF/jsp/account/EditAccountForm.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/EditAccount.action" name="AccountForm" scope="request" type="org.mybatis.jpetstore.web.actions.EditAccountAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Main.jsp"/> <forward name="failure" path="/error.jsp"/> </action> <action path="/actions/SignonForm.action" scope="request" type="org.mybatis.jpetstore.web.actions.SignonFormAction"> <forward name="success" path="/WEB-INF/jsp/account/SignonForm.jsp"/> </action> <action path="/actions/Signon.action" name="AccountForm" scope="session" type="org.mybatis.jpetstore.web.actions.SignonAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Main.jsp"/> <forward name="failure" path="/WEB-INF/jsp/account/SignonForm.jsp"/> </action> <action path="/actions/Signoff.action" scope="session" type="org.mybatis.jpetstore.web.actions.SignoffAction"> <forward name="success" path="/WEB-INF/jsp/catalog/Main.jsp"/> </action> </action-mappings> </struts-config> ``` 2. CatalogAction类 这是一个处理产品目录相关操作的类,它继承自Struts的Action类。 ```java public class CatalogAction extends BaseAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String categoryId = request.getParameter("categoryId"); if (categoryId != null) { request.setAttribute("productList", CatalogFacade.getProductListByCategory(categoryId)); request.setAttribute("category", CatalogFacade.getCategory(categoryId)); } return mapping.findForward("success"); } } ``` 3. CatalogActionForm类 这是一个Struts表单类,它用于存储从JSP页面提交的表单数据。 ```java public class CatalogActionForm extends BaseActionForm { private String categoryId; public String getCategoryId() { return categoryId; } public void setCategoryId(String categoryId) { this.categoryId = categoryId; } } ``` 以上就是JPetStore中的一些Struts代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值