【实例】struct框架一个表单两个提交按钮-高级Action应用三(LookupDispatchAction应用)
2015-02-13 14:58
585 查看
在login.jsp页面显示一个表单,该表单具备两个不同的提交按钮;分别能够输入用户账号,密码,第一个提交按钮是一个login(登陆),验证用户是否登录成功;第二个按钮是一个register (注册),点击,到达另一个页面。
使用LookupDispatchAction方法的流程
1新建(LoginAction.java)文件,建立一个LookupDispatchAction,编写处理函数
1.1 LookupDispatchAction类必须引用import org.apache.struts.actions.LookupDispatchAction;包
1.2 重写类中的getKeyMethodMap()抽象方法【重要】注意map.put(资源文件key,方法名)
1.3 为LoginAction.java中建立login函数和reg函数
2建立login.jsp页面
2.1 注意按钮标签从资源文件获取
2.2 编写ApplicationResources.properties资源文件
2.3 在struts-config.xml中添加配置parameter属性为parameter="ope"
2.4将提交按钮property和struts-config.xml中参数名称要一致
1.首先是提交的两个按钮是从资源文件中得到的
2.然后是两个按钮的property属性,我们在struts-config.xml文件中配置过。
3.通过点击提交action="/login"调用Login.Action.java文件中的getKeyMethodMap()方法。通过getKeyMethodMap()方法,查询资源文件key中的不同值和方法名来进行处理
部分代码如下:
LoginAction.java文件代码
ApplicationResources.properties资源文件
struts-config.xml配置文件
login.jsp文件
使用LookupDispatchAction方法的流程
1新建(LoginAction.java)文件,建立一个LookupDispatchAction,编写处理函数
1.1 LookupDispatchAction类必须引用import org.apache.struts.actions.LookupDispatchAction;包
1.2 重写类中的getKeyMethodMap()抽象方法【重要】注意map.put(资源文件key,方法名)
1.3 为LoginAction.java中建立login函数和reg函数
2建立login.jsp页面
2.1 注意按钮标签从资源文件获取
2.2 编写ApplicationResources.properties资源文件
2.3 在struts-config.xml中添加配置parameter属性为parameter="ope"
2.4将提交按钮property和struts-config.xml中参数名称要一致
总结
1.首先是提交的两个按钮是从资源文件中得到的2.然后是两个按钮的property属性,我们在struts-config.xml文件中配置过。
3.通过点击提交action="/login"调用Login.Action.java文件中的getKeyMethodMap()方法。通过getKeyMethodMap()方法,查询资源文件key中的不同值和方法名来进行处理
部分代码如下:
LoginAction.java文件代码
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package guo_demo5.action; import java.util.HashMap; import java.util.Map; import guo_demo5.form.LoginForm; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.LookupDispatchAction; public class LoginAction extends LookupDispatchAction { // 重写getKeyMethodMap()方法 protected Map getKeyMethodMap() { //用一个map保存资源文件key和方法名的映射 Map map = new HashMap(); map.put("info.login", "login"); //map.put(资源文件key,方法名) map.put("info.reg", "reg"); return map; } //登陆 public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub System.out.println("登陆"); return null; } //注册 public ActionForward reg(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub System.out.println("注册"); return null; } }
ApplicationResources.properties资源文件
info.login=login info.reg=reg
struts-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans > <form-bean name="loginForm" type="guo_demo5.form.LoginForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action name="loginForm" path="/login" parameter="ope" type="guo_demo5.action.LoginAction"> <set-property property="cancellable" value="true" /> </action> </action-mappings> <message-resources parameter="guo_demo5.ApplicationResources" /> </struts-config>
login.jsp文件
<%@ page language="java" pageEncoding="gb2312"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <html> <head> <title>登陆LookupDispatchAction使用</title> </head> <body> <html:form action="/login" method="post"> account : <html:text property="account"/><br/> passWord : <html:password property="passWord"/><br/> <html:submit property="ope"><bean:message key="info.login"/></html:submit> <html:submit property="ope"><bean:message key="info.reg"/></html:submit> </html:form> </body> </html>
相关文章推荐
- java web开发中,jsp使用了frameset框架,如何实现整个页面跳转,并且同一个表单中可以提交两个action
- 两个表单一个按钮;一个表单,两个提交按钮。分别执行两个asp文件(asp)
- 在同一个form表单里有2个按钮,如何各自提交到不同的action里面去。
- 一个表单中两个提交按钮应怎么办?
- 不同的按钮向不同的action提交同一个表单
- JS实现一个表单form,多个submit按钮提交时带不同的action参数
- 带有两个提交按钮的表单(带有不同的 action)
- MVC中一个表单实现多个提交按钮(一个action搞定添删改)
- 一个表单使用两个提交按钮
- 多不同按钮提交一个表单,提交到不同的action中
- ASP 一个表单 两个提交按钮
- 一个表单中有编辑和删除两个按钮分别调用后台action的不同方法
- 一个form表单,有两个提交按钮,分别提交到不同页面(或不同的方法中)
- 表单中有一个搜索框,有两个radio条件选择,选中第一个时点击提交按钮时就跳转到zs_search.jsp搜索页面,
- 【实例】仿购物车原理-高级Action应用二(通过DispatchAction方式)
- MVC中一个表单实现多个提交按钮(一个action搞定添删改)
- 【实例】仿购物车原理-高级Action应用三(通过MappingDispatchAction方式)
- ASP 一个表单 两个提交按钮
- 一个表单,多个提交按钮,提交到不同的action
- 一个form两个提交按钮,分别提交到两页面