当前位置:编程学习 > JAVA >>

form表单提交action后无法接受到参数

form表单:  
 
             <form action="user.action" method="post"> 
    用户名<input type="text" value="username"/><br>
    密码   <input type="password" value="password"/><br>
    密码确认<input type="password" value="password2"/><br>
    <input type="submit" value="submit"/> <br>
             </form><br>

struts.xml : 


 <struts>
    <constant name="struts.devMode" value="true" />
    <package name="deng"  extends="struts-default" namespace="/">
        <action name="user" class="cong.deng.action.UserAction">
            <result >/MyJsp.jsp</result>
        </action>
    </package>
</struts>

action如下:

         package cong.deng.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
private String username;
private String password;
private String password2;
@Override
public String execute() throws Exception {
System.out.println(username);
System.out.println(password);
return SUCCESS;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
其他的配置也是对的,但就是无法获取到提交过来的username和password  输出总是null,求前辈指点下
--------------------编程问答-------------------- 表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" value="password"/><br>
  密码确认<input type="password" name="password2" value="password2"/><br>
  <input type="submit" value="submit"/> <br> 
  </form>

action还要有对应属性的set方法
        private String password;
private String password2;

public void setPassword(String password) {
this.password = password;
}

public void setPassword2(String password2) {
this.password2 = password2;
} --------------------编程问答--------------------
引用 1 楼 wei2010happy 的回复:
表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" ……


+1 


传参数的时候接写名字啊 不然action怎么知道你要传那个值个哪个变量? --------------------编程问答-------------------- 1楼正解。。。变量名保持一致 --------------------编程问答-------------------- 建议楼主
看一下html教程 --------------------编程问答-------------------- 要对值进行get和set封装!!action才能找到!! --------------------编程问答-------------------- 学习, --------------------编程问答--------------------
引用 1 楼 wei2010happy 的回复:
表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" ……


多看看书 --------------------编程问答--------------------
引用 1 楼 wei2010happy 的回复:
表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" ……
顶! --------------------编程问答-------------------- 表单中没有name属性,封装也没用

--------------------编程问答-------------------- input要加上name属性,以及get,set方法 --------------------编程问答-------------------- html的input加name属性 name="", name值与action类的属性对应。
action中的setter和getter要有。 --------------------编程问答-------------------- 好像你比我更菜,
form中标签的name属性与action中的属性相关联,
而你的form中标签都没有name属性,
action是肯定接收不到的 --------------------编程问答-------------------- 第一,form表单的nane要跟action中字段的名字一样
第二,要提供get、set方法 --------------------编程问答-------------------- --------------------编程问答-------------------- 1楼好解,哈哈,使用action,传值方式最经典,最基础的就是页面的name和action的属性名要一致并生成get&set方法 --------------------编程问答-------------------- 记着上面的,必成大器,^_^ --------------------编程问答-------------------- <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" value="password"/><br>
  密码确认<input type="password" name="password2" value="password2"/><br>
  <input type="submit" value="submit"/> <br> 
  </form>


页面上的参数在用到Struts时候,是通过Name属性,Name属性的名称需要和你在Action中设置的变量Name相同,并且必须需要set 方法,get方法可以不要
看了你之前的代码,没有Name属性啊,,, --------------------编程问答-------------------- 这个问题应该是太粗心了吧! --------------------编程问答-------------------- 表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" value="password"/><br>
  密码确认<input type="password" name="password2" value="password2"/><br>
  <input type="submit" value="submit"/> <br> 
  </form>

action还要有对应属性的set方法
  private String password;
private String password2;

public void setPassword(String password) {
this.password = password;
}

public void setPassword2(String password2) {
this.password2 = password2;
} --------------------编程问答--------------------
引用 1 楼  的回复:
表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password"……


1楼正解  --------------------编程问答-------------------- 帮不到忙呢,错 --------------------编程问答-------------------- set方法要生成 --------------------编程问答--------------------
引用 1 楼 wei2010happy 的回复:
表单元素的name的值要和action里的属性名字一样
你的表单元素都没有name属性
 <form action="user.action" method="post">  
  用户名<input type="text" name="username" value="username"/><br>
  密码 <input type="password" name="password" ……

一楼正解! --------------------编程问答-------------------- 把struts的属性驱动法再看看吧
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,