读书人

actionform如何取不到值

发布时间: 2012-01-12 22:11:58 作者: rapoo

actionform怎么取不到值
代码有点长,马上结贴
form:
<form method= "post " name= "Login_Form " action= "Logon.do ">
<div>
用户名 <input type= "text " id= "jsp_username " name= "jsp_username "
size= "15 " style= "height:19px " class= "Txtinput "> 密码 <input type= "text " id= "jsp_password " name= "jsp_password "
size= "15 " class= "Txtinput "> 验证码 <input type= "text " id= "jsp_checkcodes " name= "jsp_checkcodes "
size= "6 " class= "Txtinput ">
<img src= "inc/checkcodes.jsp " align= "absbottom " width= '40 ' height= "20 ">
<input type= "checkbox " name= "isauto "> 自动登录 <input type= "Submit " id= "jsp_login " value= "登 录 "
onclick= "return checkForm(); " style= "HEIGHT: 19px; "> <input type= "button " style= "HEIGHT: 19px; " id= "jsp_reg "
value= "注 册 " onclick= "top.right.location.href= 'jsp_register.jsp ' "> <input type= "button " style= "HEIGHT: 19px; " id= "jsp_reg "
value= "掉线自救 " onclick= "top.right.location.href= 'jsp_clsonline.jsp ' ">
</div>
</form>
LogonForm.java:
package com.logon.app;

import javax.servlet.http.*;
import org.apache.struts.action.*;


public class LogonForm extends ActionForm {

private String cnid;

private String jsp_username;

private String jsp_password;

private String jspScore;

private String jspRegtime;

private String jspLastuptime;

private String jspGroup;

private String jsp_checkcodes;

private boolean isauto = false;

ActionForm.java;
public class LogonAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws Exception {
LogonForm form = (LogonForm) actionForm;
ActionErrors errors = new ActionErrors();
String username = form.getJspUserid();
String password = form.getjspPassword();

这样竟然取不到到username的值为null;

[解决办法]
ActionForm
要遵守JavaBean的规范

getjspPassword

所有的Getter Setter

比如你有一个属性 jsp_password

就应该定义


public StringgetJsp_password()



public void setJsp_password(String jsp_password )

注意set get后第一个字母大写
[解决办法]
formbean里面必须有属性的GET和SET方法,没有set 方法struts怎么给属性赋值啊
------解决方案--------------------


命名没有遵循javabean规范,给你个参考
比如:
在页面上表单 <input name= "username "/>
那么ActionForm中
private String username;
public String getUsername()
{
  return username;
}
public void setUsername(String username)
{
  this.username = username;
}
在Action中
form.getUsername();
=====================================
名字要严格对应~~


[解决办法]
LogonForm.java这里面怎么没有set get 方法?
要生成才行啊

[解决办法]
建议先写helloworld。
[解决办法]
<form method= "post " name= "Login_Form " action= "Logon.do ">
这个Login_Form是哪来的?你的form是LogonForm 这个吧?
还有就是你生成两个文件是你选择了create abstract class这个选项吧!
还有你连form都不知道怎么生成,怎么搞struts,你还是从struts入门书看看先吧
还有你连一般的命名规则都不知道...
[解决办法]
String username = form.getJspUserid();
这一看就写错了...
String username = form.getJsp_username().

读书人网 >Java Web开发

热点推荐