jpetstore 中的struts代码
时间: 2023-11-07 14:05:09 浏览: 170
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代码示例。
阅读全文