b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

struts2动态方法调用

电脑杂谈  发布时间:2020-03-14 05:00:58  来源:网络整理

python方法调用方法_动态方法调用 为什么不安全_动态调用wcf服务方法

【转载】JavaScript代码的核心在于动态更改表单元素的action属性,修改后的action属性为login!regist.action

实际上就是将该表单提交给login Action 的regist方法处理

对于使用动态方式读取的技巧,例如regist方法,该原则的声明与平台默认的execute方法唯有方法名不同,其它的都必须绝对相同

//开启系统的动态方式调用是借助修改struts.enable.DynamicMethodInvocation常量完成的

//设置该常量为true,将进入动态方式调用动态方法调用 为什么不安全,否则将关闭动态方式调用

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>My JSP 'index.jsp' starting page</title>

<script type="text/javascript">

function regist(){

form = document.forms[0];

form.action = "login!regist.action";

form.submit();

}

</script>

</head>

<body>

<s:form action="login">

<s:textfield label="用户名"></s:textfield>

动态方法调用 为什么不安全_python方法调用方法_动态调用wcf服务方法

<s:textfield label="密码"></s:textfield>

<s:submit label="注册" value="注册"></s:submit>

<s:submit label="登陆" value="登陆"></s:submit>

</s:form>

</body>

</html>

【备注:】

Struts1框架提供了DispatchAction,从而允许一个Action内包括多个处理逻辑。例如针对同一个表单,当客户通过不同的请求按钮提交表单时,应该使用Action的不同方法来处理请求。

Struts2同样提供了这些处理多个请求的Action,看以下的JSP页面。

上面的JSP页面包括两个提交按钮,但两个提交按钮分别提交给Action的不同方法处理,其中“登陆”按钮希望使用登录逻辑来处理请求,而“注册”按钮则希望使用登录逻辑来处理请求。

此时,可以采用DMI(Dynamic Method Invocation,动态方式)调用来处置这些请求,动态方式读取是指表单元素的action并不是直接等于某个Action的名字,而是以如下形式来选定Form的action属性:

action="ActionName!methodName.action"

于上面JSP页面的“注册”按钮的代码如下:

单击“注册”按钮时将触发regist函数,该变量的代码如下:

function regist()

{

//获取JSP页面中的一个表单元素

targetForm = document.forms[0];

//动态更改目标表单的action属性

targetForm.action = "Login!regist.action";

//提交表单

targetForm.submit();

动态调用wcf服务方法_python方法调用方法_动态方法调用 为什么不安全

}

上面JavaScript代码的核心在于动态更改表单元素的action属性,修改后action属性为:Login!regist.action,其实质就是将该字段提交给login Action的regist方法处理。

login Action类的代码如下:

public class LoginRegistAction extends ActionSupport

{

//封装用户请求参数的两个属性

private String username;

private String password;

//封装处理结果的tip属性

private String tip;

//username属性对应的setter和getter方法

public String getUsername()

{

return username;

}

public void setUsername(String username)

{

this.username = username;

}

//password属性对应的getter和setter方法

public String getPassword()

{

动态方法调用 为什么不安全_python方法调用方法_动态调用wcf服务方法

return password;

}

public void setPassword(String password)

{

this.password = password;

}

//tip属性对应的setter和getter方法

public String getTip()

{

return tip;

}

public void setTip(String tip)

{

this.tip = tip;

}

//Action包含的注册逻辑

public String regist() throws Exception

{

ActionContext.getContext().getSession().put("user" , getUsername());

setTip("恭喜您," + getUsername() + ",您终于注册成功!");

return SUCCESS;

}

动态调用wcf服务方法_python方法调用方法_动态方法调用 为什么不安全

//Action包含的默认处理逻辑

public String execute() throws Exception

{

if (getUsername().equals("scott")

&& getPassword().equals("tiger") )

{

ActionContext.getContext().getSession().put("user" , getUsername());

setTip("欢迎," + getUsername() + ",您终于登陆顺利!");

return SUCCESS;

}

else

{

return ERROR;

}

}

}

图4.1所示的JSP页面中的“登陆”按钮就是一个普通按钮,没有任何特殊之处,当浏览者单击“登陆”按钮时,系统将提交给对应Action的默 认方式处理。当浏览者单击“注册”按钮时,系统将提交给login Action的regist方法处理。因此,如果点击“注册”按钮,将发现如图4.2所示的页面。

通过这些方法,我们可以在一个Action中包括多个处理逻辑,并可以借助为表单元素指定不同action属性来提交给Action的不同方法。

对于使用动态方式读取的技巧,例如regist方法,该原则的方式声明与平台默认的execute方法的方式声明,只有办法名不同,其他方式参数,返回值类别都必须绝对相同。

注意:使用动态方式调用需要修改Struts2允许动态方式读取。开启系统的动态方式调用是借助修改struts.enable.DynamicMethodInvocation常量完成的,设置该常量的值为true,将进入动态方式调用;否则将关闭关闭动态方式调用。

注意

关键字: javascript

Javascript Error: submit is not a function

有时候需要用javascript提交表单,这个之后我们会用javascript:userform.submit();可是我在这样做的之后如何也提交不顺利,报出javascript错误Javascript Error: submit is not a function。百思不得其解,后来查阅资料才发觉,在用userForm.submit()提交表单的之后,表单里面不能有name="submit"的元素,否则在提交的之后动态方法调用 为什么不安全,该对象会跟submit();方法出现混淆导致该错误!! 切记,切记!


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-144086-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 刀郎
        刀郎

        送检是门面功夫

      • 史佐尧
        史佐尧

        写得不好

      • 翁绶
        翁绶

        恐怖组织最后杀的是还是老百姓世界各地的百姓是无辜的

      热点图片
      拼命载入中...