栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Struts 2中使用超链接传递动作名称?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Struts 2中使用超链接传递动作名称?

当您单击超链接时,不会为请求URL提供参数

username
和
password
(参数不是由
params
拦截器设置的),因此此属性的值是,
null
但是在
validate()
执行操作之前调用了该方法,因为您的操作扩展
ActionSupport
了实现
Validateable
和
ValidationAware
允许
validation
拦截器(这是的一部分
defaultStack
)执行
validate()
方法,其中,你可以执行手动检查和提供
ActionErrors
,
FieldErrors
和
ActionMessages
。但是,如果您不提供属性的值,则没有理由这样做。您应该提交表单或在url中设置参数,例如

<a id="mylink" href="#">Click for New User</a><script type="text/javascript>$(document).ready(function(){  $('#mylink').click(function(e) {    window.location="<s:url action='register'/>"+"?username="+$('username').val()+"&password="+$('password').val();    return false;  });});</script>

但是问题在于参数值(用户名和密码)是敏感信息,不应传递到URL中。并且您应该使用Ajax

post
或通过
POST
请求提交表单,如本示例所示。

使用手动验证时,使用Apache Commons验证器非常有用

if (GenericValidator.isBlankOrNull(value))  addFieldError("FieldLabel", MessageFormat.format(getText("ErrorKey"),    getText("FieldLabel"), new Object {}));

可以为

ActionErrors
和/或完成类似的代码
ActionMessages
。commons-
validator包中还提供了其他验证器,或者您可以使用超出此问题的Struts2验证器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412675.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号