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
传参数的时候接写名字啊 不然action怎么知道你要传那个值个哪个变量? --------------------编程问答-------------------- 1楼正解。。。变量名保持一致 --------------------编程问答-------------------- 建议楼主
看一下html教程 --------------------编程问答-------------------- 要对值进行get和set封装!!action才能找到!! --------------------编程问答-------------------- 学习, --------------------编程问答--------------------
多看看书 --------------------编程问答-------------------- 顶! --------------------编程问答-------------------- 表单中没有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楼正解 --------------------编程问答-------------------- 帮不到忙呢,错 --------------------编程问答-------------------- set方法要生成 --------------------编程问答--------------------
一楼正解! --------------------编程问答-------------------- 把struts的属性驱动法再看看吧
补充:Java , Java EE