本人超级菜鸟 第一次接触struts 紧急求助ing
现在有个页面是struts的LonginForm 一个userID和password。 forward to LoginAcction
在LoginAction里getPassword();就可以得到password,对吧?
<fmt:message key="userid" />
<html:text styleId="userId" tabindex="1" property="userId" size="50" styleClass="textField_std" errorStyleClass="textField_error"> </html:text> <fmt:message key="password" />
<html:password styleId="password" tabindex="2" property="password" size="50" styleClass="textField_std" errorStyleClass="textField_error" /> 我需要再加一个验证码,要把验证码和密码一块加密,然后把加密后的这个block当成密码送过去。
解密先不用考虑。。能传过去就行
由于这个loginAcction我不能修改
所以想把验证码的property也放成"password",然后用JavaScript加密密码和验证码,
得到encryptionblock,再setPassword(encryptionblock)。这样Action 得到的就是encryptionblock了。。
不知道这可以实现不?多谢了先 所以有两个问题:
1》现在submit的时候直接执行loginAcction的,怎么能before这个,先叫javascript加密。
2》怎么把加密后的block 代替原来的密码送过去,使得在loginAction里面getPassword时,直接得到这个block?
我有表达清楚吧?呵呵 最近为了这个问题纠结两天了。。
请高手指点啊
现在有个页面是struts的LonginForm 一个userID和password。 forward to LoginAcction
在LoginAction里getPassword();就可以得到password,对吧?
<fmt:message key="userid" />
<html:text styleId="userId" tabindex="1" property="userId" size="50" styleClass="textField_std" errorStyleClass="textField_error"> </html:text> <fmt:message key="password" />
<html:password styleId="password" tabindex="2" property="password" size="50" styleClass="textField_std" errorStyleClass="textField_error" /> 我需要再加一个验证码,要把验证码和密码一块加密,然后把加密后的这个block当成密码送过去。
解密先不用考虑。。能传过去就行
由于这个loginAcction我不能修改
所以想把验证码的property也放成"password",然后用JavaScript加密密码和验证码,
得到encryptionblock,再setPassword(encryptionblock)。这样Action 得到的就是encryptionblock了。。
不知道这可以实现不?多谢了先 所以有两个问题:
1》现在submit的时候直接执行loginAcction的,怎么能before这个,先叫javascript加密。
2》怎么把加密后的block 代替原来的密码送过去,使得在loginAction里面getPassword时,直接得到这个block?
我有表达清楚吧?呵呵 最近为了这个问题纠结两天了。。
请高手指点啊
<script type="text/javascript">
function encript(){
var name = document.getElementById('userName');
alert(name.value);
name.value='world';
alert(name.value);
alert('hello');
return false;
}
</script>
</head>
<body>
<form action="http://www.sina.com.cn" method="post" onsubmit="return encript()"> 用户名:<input id="userName" type="text" name="userName"/><br>
<input type="submit" value="submit"/>
</from>
</body>
</html>
通过这段代码测得可以这样子用.你的标题写得像数据已经发到服务器了.
如果是单纯的jsp 我觉得我可以实现这两个
但是是struts。。麻烦您看我贴的代码 password本来都有个property=password 而且
这个loginForm里已经只有这两个getProperty(useId),getProperty(password). setproperty(userID), setproperty(password)的。
所以呢 我必须把验证码 的property也设置成password, 然后用js加密验证码和密码,得到block,再setPassword(block);
哎 不知道两个label可以用同一个property不?
况且我试过onclick去加密,不知道有没有执行到js?我知道jsp里面肯定可以了
但是这个strut 他submit时 没有post到那啥的 有servlet-config.xml在,他自己就去loginAction了。。这个在这之前叫JavaScript,能真正执行吗?有人做过这样的吗
我现在要在页面上多加个东西进去。。还有我看strut, 本来不需要setPassword的,你submit后可以直接叫getPassword来得到密码的。
所以我不知道怎么能加密好去set呢?根本不知道在哪set? 唉
进一步声明下 呵呵
我的验证码其实是动态密码。。一定要加密送过去的。。
还有ActionForm是不能修改的。因为我没有他们的源码。。
所以一定要把动态密码跟密码绑定一块的可能我问题问太多了 好吧我减少到一个。。怎么把动态密码+密码送过去
before的code:
<fmt:message key="password" />
<html:password styleId="password" tabindex="2" property="password" size="50" styleClass="textField_std" errorStyleClass="textField_error" />
然后在loginAction 那可以直接getPassword()就得到密码了。现在我想做成:<fmt:message key="password" />
<html:password styleId="password" tabindex="2" property="password" size="50" styleClass="textField_std" errorStyleClass="textField_error" />
然后再加一个 动态密码的:用相同的property。
<fmt:message key="DynamicPassword" />
<html:password styleId="DynamicPassword" tabindex="2" property="password" size="50" styleClass="textField_std" errorStyleClass="textField_error" /> 接下来的不知道了。。怎么把密码+动态密码一块送过去。。?