在下面用的是只用一个Action 来处理多个Form 的业务处理:
它的原理是:1利用一个隐藏的文本域传一个方法名:然后调用Action中相映的方法:而这个Action一定是一个DispatchAction 代码如下:
package com.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.DispatchAction;
public class LoginAction extends DispatchAction {
public ActionForward love(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaActionForm da=(DynaActionForm)form;
System.out.println(da.get("name")+" I love you !");
return null;
}
public ActionForward dislike(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaActionForm da=(DynaActionForm)form;
System.out.println(da.get("name")+" I dislike you !");
return null;
}
public ActionForward miss(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaActionForm da=(DynaActionForm)form;
System.out.println(da.get("name")+" I miss you !");
return null;
}
}
而在jsp中的页面中的代码如下:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for LoginForm form</title>
<script type="text/javascript">
<!--
function _action(_value){
document.forms[0].method.value=_value;
document.forms[0].submit();
}
//-->
</script>
</head>
<body>
<html:form action="/login">
<html:text property="name"/>
<html: hidden property="method"/>
姓名<input type="button" name="" value="love" onclick="_action(this.value)"/>
<input type="button" name="" value="dislike" onclick="_action(this.value)"/>
<input type="button" name="" value="miss" onclick="_action(this.value)"/>
</html:form>
</body>
</html>
如上是一个的一个hidden
然后在struts-config.xml中的配置中如下代码:标明hidden:
<action-mappings >
<action
attribute="loginForm"
input="/form/login.jsp"
name="loginForm"
path="/login"
parameter="method"
scope="request"
type="com.struts.action.LoginAction" />
</action-mappings>
在上面的parameter指定hidden
超链接访问如:<a herf="index.do?mehto=login"></a>
相关推荐
应用uni-swipe-action组件实现列表项左划操作。 真正做到开箱即用。
Android Dynamic Action(动态Action) Android Dynamic Action,简称DA,是一种简便、可变Action的实现方案。DA框架的初衷是为了取代Context.startActivity的调用方式,使用建造者模式(Builder Pattern)构建交互参数...
extjs4 MVC2 TreePanel动态JSON实现 extjs4 MVC2 TreePanel动态JSON实现
主要是用strus2实现验证码功能,里面包含验证码的实现以及xml文件里面的action的书写
flexigrid表格控件的使用实例,实现了和struts1.3的集成,实现了动态添加和删除。 文档包括: user_mgr.jsp ,jsp页面 UserAction.jsp ,控制层Action js包,相关的js jar使用到的jar包
利用struts_1编写代码实现简单登录功能,学了Struts之后,是在action中编写请求处理代码,为什么这样做呢?因为Struts作者帮我们写好了一个actionServlet,他写这个servlet的目的是希望所有请求都交给它预处理,它...
Ruby/Python 本来就是深受 Lisp 影响的, 和 JavaScript 算是同门师兄, 他们的语法经过了实践考验, 是更适合函数式+动态语言内核的. Good Parts:CoffeeScript 只使用了 JavaScript 的 ”Good Parts(精粹)”, 抛弃了...
根据实际情况判断给form的action动态赋值转向另外站点
form method="post" action=""> <td bgcolor="#FFFFFF"><div align="center">查询用户</div></td> <td height="30" bgcolor="#FFFFFF"><div align="center"> 全部 用户ID 用户名 </div></td> ...
利用ADP(自适应动态规划)中的HDP,实现对非线性离散时间系统的稳定控制。代码利用python实现。构建评价网络(Critic Network)、模型网络(Model Network)和执行网络(Action Network)三个网络。需要安装Pytorch;由于...
动态链接 演示: : dynamic-link是link-to助手的替代方法,它为动态参数(包括动作和文字href)提供了更大的灵活性。 安装 要安装,请运行: ... 例如,这在实现面包屑或导航栏时会很有用,它们具有自由
10.2.1 使用ActionClass-validations.xml声明验证元数据 223 10.2.2 研究内建的验证器 226 10.3 编写自定义验证器 227 10.3.1 检查密码强度的自定义验证器 227 10.3.2 使用自定义数据验证器 229 10.4 验证框架的高级...
MyBatis学习代码: ...mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载
<form id=myFormId name=myForm action= method=post> <input type=hidden id=inParam name=...熟悉JavaScript的朋友一定晓得JS可以动态改变form表单中action的值,写法如下: document.myForm.action =
完善Forms验证功能,使用Filter方式,在Action的时候定义Attrible属性,写入Role的票据! 使用Session判定是否管理员! 使用用户控件(ascx)绑定动态数据 使用jQuery Ajax方式发贴,回复 使用MicrosoftMvcAjax删除...
ajax实现输入提示(类似百度和Google的输入提示) 用法非常简单: 1、在jsp页面引入autosuggest.js文件 2、建一个text文本框 3、写js代码: <script> new actb("tb", loadAllMessage("suggest" , ""), null); 4、这...
2. 动态图像拍摄:使用 Intent ACTION_VIDEO_CAPTURE 可以拍摄动态图像。 使用 Camera Intent 可以实现拍摄图像和视频,步骤包括: 1. 创建 Camera Intent:使用 MediaStore.ACTION_IMAGE_CAPTURE 或 MediaStore....
本文介绍了动态改变app图标,分享给大家,具体如下: 代码实现如下: <application android:allowBackup=true android:icon=@mipmap/ic_launcher android:label=@string/app_name android:supportsRtl=true ...
1.通过广播方式动态显示、隐藏系统栏(状态栏和导航栏), 显示:android.intent.action.SYSTEM_BAR_SHOW, 隐藏:android.intent.action.SYSTEM_BAR_HIDE 2. 系统->设置->显示->系统栏显示,添加控制系统栏功能
根据Android第三版教材,做了一个QQ重新实现项目,先实现了QQ导航栏,联系人,后面又实现了聊天功能、聊天中的头像、数据库功能(关闭QQ再打开后能查看过去的聊天记录)等功能,具体的项目实现文件可以看...