我想在jsp页面上传一个参数过去,在action中接收,我的代码是
<html:hidden property="username" value="john"/>
我测试时在action中获取到的数据是null
其中action中的代码为:
Showform show=(Showform)form;
System.out.println("37===="+request.getParameter("newsTypeName"));
show.setNewsTypeName(request.getParameter("newsTypeName"));
String str=show.getNewsTypeName();
System.out.println("showaction.java 38 "+str);
在actionform中的代码为:
private String username;
private String password;
private String newsTypeName;
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
// Validate an attribute named "xxx"
//if( getXXX() == null || getXXX().length() == 0 )
// errors.add("xxx",new ActionMessage("errors.required","xxx"));
return errors;
}

public void reset(ActionMapping mapping, HttpServletRequest request) {

super.reset(mapping, request);
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getNewsTypeName() {
return newsTypeName;
} public void setNewsTypeName(String newsTypeName) {
this.newsTypeName = newsTypeName;
}

解决方案 »

  1.   

    jsp上有 名字为 newsTypeName 的控件吗。
      

  2.   

    如果没newsTypeName ,肯定获取的是NULL
      

  3.   

    用form可以直接取到username
    form.getUsername()
      

  4.   

    request.getParameter("newsTypeName")); 
    <html:hidden property="username" value="john"/>
    紅色部分的名字要對應
      

  5.   

    这 、页面上的username
    要在后台用username 去 同楼上上的
      

  6.   

    在你后台写bean的时候,里面的属性必须和你表单里面的写的属性名必须一样.
    这样属性才能完全匹配.
    在action里面,通过你form的get***()方法,就可以获得你的表单里面的值了.
      

  7.   

    <html:hidden property="username" value="john"/> 
    我测试时在action中获取到的数据是null 
    其中action中的代码为: 
    Showform show=(Showform)form; 
    System.out.println("37===="+request.getParameter("newsTypeName")); 
    show.setNewsTypeName(request.getParameter("newsTypeName")); 
    String str=show.getNewsTypeName(); 
    username属性 的值为"john".newsTypeName属性并没有看见你赋值。so ,String str=show.getNewsTypeName(); 得到的结果应该是NULL
    另外,我想你是想取得username属性 的值。
    你应该修改为String str=show.getUsername(); 
      

  8.   

    嗯 同意三楼的 lz你也太s了
      

  9.   

    show.getNewsTypeName就可以在ACTION里的到,不必request.getParameter("newsTypeName")); 不过你的JSP页面要有newsTypeName这个域,哪果是隐藏域或是URL参数所带的newsTypeName就可以用request.getParameter("newsTypeName"));取的值