<input type="hidden" name="" value="" />请问这句话的name,value什么意思

thcthc2 2012-10-23 01:13:36
请问name的值是可以随便起的吗?。
...全文
31456 2 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘉圆 2013-12-22
可以看成一个隐藏的文本域,为了向下一页面提交的有些数据不被用户看到,例如struts2中可以 <input type="hidden" name="action " value="add">来将表单信息提交给对应的Action做添加用户功能
回复
songhongzhe123 2012-11-09
mark一下 下周在看
回复
thcthc2 2012-10-24
[Quote=引用 7 楼 的回复:]

name只是一个用来区分相同元素的名字,但是这个名字并不要求在这个页面里唯一,有同名的时候,在脚本里可以用getelementsbyname(“你的name”)[]方法来取,这里随便打的,中间首字母是要大写的,数组下标就是从第一个到最后一个。
在后台取的时候,如果你的name是唯一的,那么你可以直接this.getRequest().getParameter("你的name")来取值,当然你要……
[/Quote]
请您看一下10楼11楼的题目,我上面说的有点不对
回复
yuyuefeng92 2012-10-24
你可以参考一下这个页面
如果你那个是考题的话我就无能为力了
http://www.cnblogs.com/yangy608/archive/2010/11/08/1871958.html
回复
yuyuefeng92 2012-10-24
jsp页面
[code=Java] <form action="../admin/login.action" method="post">
<input type="hidden" name="action" value="loginP" >


这 个 我 一 般 是 这 样 写 的 ,
<form action="../admin/login.action!loginP" method="post">
或者在struts.xml多配几个action,可能我落伍了,
没像你用<input>把方法名传过去,我也是刚入职的菜鸟,希望谅解
回复
thcthc2 2012-10-23
[Quote=引用 6 楼 的回复:]

name 和 value 都是元素的属性.
name 可以作为理解为元素的名字
value 为元素的值

<input type="hidden" name="" value="" />
type="hideen" 表示该为隐藏域,通常用于前后台传值。或者存取值
[/Quote]请看看十楼和十一楼。我上面的说的太笼统了
回复
thcthc2 2012-10-23
[Quote=引用 10 楼 的回复:]

引用 3 楼 的回复:

name名字最好和你后台属性的成员变量对应,否则在参数传递的时候接收不到出现空指针异常。
一般表单提交后input会以name的值=value的值的形式传给后台。如:<input type="hidden" name="password" value="1234">表单提交后会以这样的形式传值:password=1234


好像我说的有点笼统了,题目是这……
[/Quote]
action
public class LoginAction extends BaseAction {
// 用户名
private String userName;
// 姓名
private String name;
// 密码
private String password;
// 登录时
private String loginTime;
// 考号
private String studentNo;

public String getStudentNo() {
return studentNo;
}

public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}

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 getLoginTime() {
return loginTime;
}

public void setLoginTime(String loginTime) {
this.loginTime = loginTime;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

// 管理员登录
@SuppressWarnings("unchecked")
public String login() {
// 根据用户名,返回对象

if ("admin".equals(userName) && "123456".equals(password)) {
ActionContext context = ActionContext.getContext();
// 格式化日期
loginTime = Util.formatDateTime(new Date());
context.getSession().put(Constant.LOGIN_TIME, loginTime);
context.getSession().put(Constant.CURRENT_USER,
new User(userName, password));
return SUCCESS;
}
return INPUT;
}

// 转到登录界面
public String loginout() {

// 销毁用户信息
ActionContext context = ActionContext.getContext();
// 销毁登录时间
context.getSession().remove(Constant.LOGIN_TIME);
// 销毁当前登录用户
context.getSession().remove(Constant.CURRENT_USER);
return INPUT;
}

@SuppressWarnings("unchecked")
// 考生登录
public String loginP() {

if ("1001".equals(studentNo) && "1".equals(password)) {
ActionContext context = ActionContext.getContext();
// 格式化日期
loginTime = Util.formatDateTime(new Date());
context.getSession().put(Constant.LOGIN_TIME, loginTime);
context.getSession().put(Constant.CURRENT_STUDENT,
new Student(studentNo, password));
return "loginPSuccess";
}
return "loginPInput";
}

// 考生退出
// 转到登录界面
public String loginoutP() {

// 销毁用户信息
ActionContext context = ActionContext.getContext();
// 销毁登录时间
context.getSession().remove(Constant.LOGIN_TIME);
// 销毁当前登录用户
context.getSession().remove(Constant.CURRENT_STUDENT);
return "loginPInput";
}

}



struts.xml
<struts>
<!-- 登录模块 -->
<package name="loginout" extends="struts-default" namespace="/admin">
<action name="login" class="com.haiersoft.ph02.web.action.LoginAction">
<result name="success">/admin/main.jsp</result>
<result name="input">/admin/login.jsp</result>
<result name="loginPSuccess">/stu/main.jsp</result>
<result name="loginPInput">/stu/login.jsp</result>
</action>
</package>
</struts>
回复
thcthc2 2012-10-23
[Quote=引用 3 楼 的回复:]

name名字最好和你后台属性的成员变量对应,否则在参数传递的时候接收不到出现空指针异常。
一般表单提交后input会以name的值=value的值的形式传给后台。如:<input type="hidden" name="password" value="1234">表单提交后会以这样的形式传值:password=1234
[/Quote]

好像我说的有点笼统了,题目是这样的<input type="hidden" name="action" value="loginP">这句话是在jsp页面中的。loginP()是LoginAction中的一个方法,在struts.xml中应该怎样配置。这个name还是可以随便取的吗?有什么要求?
jsp页面
[code=Java] <form action="../admin/login.action" method="post">
<input type="hidden" name="action" value="loginP" />
<table cellspacing="3" cellpadding="0" width="100%" border="0"
style="line-height: 25px; height: 100px">
<tr>
<td align="right">
</td>
<td>
</td>
</tr>
<tr>
<td align="right" height="25">
<b>考号:</b>
</td>
<td height="25" align="left">
 
<input type="text" name="studentNo"
style="width: 150px; height: 20px;" />
</td>
</tr>
<tr>
<td align="right" height="25">
<b>密 码:</b>
</td>
<td height="25" align="left">
 
<input type="password" name="password"
style="width: 150px; height: 20px;" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" class="B1" value="登 录" />
     
<input type="reset" class="B1" value="重新填写" />
</td>
</tr>
</table>
</form>
回复
fightinggay 2012-10-23
<input type="hidden" name="" value="" id=""/>
这是一个文本框,而且是隐藏的文本框,name表示这个文本框的名字,可以随便取,相当于文本框是一个人,name是这个人的姓名。value是值这个文本框的值。
js获取文本框的值可以通过document.getElementById("id").value获取document.getElementById("name").value
回复
wuxuelong127 2012-10-23
这个就是一个隐藏标签,name是你要在servlet中取值时候才有用,value就是你这个隐藏的值,有的时候我们并不需要把或是不可以把数据展示给客户,但是有我们后面的页面又会用到这个值,所以我们用一个隐藏域来把我们需要的值进行传递。
回复
AlexMoonshadow 2012-10-23
name只是一个用来区分相同元素的名字,但是这个名字并不要求在这个页面里唯一,有同名的时候,在脚本里可以用getelementsbyname(“你的name”)[]方法来取,这里随便打的,中间首字母是要大写的,数组下标就是从第一个到最后一个。
在后台取的时候,如果你的name是唯一的,那么你可以直接this.getRequest().getParameter("你的name")来取值,当然你要确定你的这个属性是放在表单里提交的或者通过其他方式传过去。对于多选框checkbox而言,你需要用this.getRequest().getParameterValues(“你的name”)来取,因为checkbox要按照name来分组,同一组的name都是相同的,当然你如果非要用this.getRequest().getParameter("你的name")这么取的话也不会报错,但是你的值永远只有一个,至于是第一个还是最后一个我也忘记了,不过这个不重要,重要的是你需要的不是一个值。
如果你的这个元素是封装好的一个对象,那么你的这个name就要跟你的对象类里面的名字一致,name=“对象.该name”否则在后台你按对象来取value的时候就会取不到。
说的有点多,可能也有点不够准确,自己多试试就理解了。
回复
jackson_fighting 2012-10-23
name 和 value 都是元素的属性.
name 可以作为理解为元素的名字
value 为元素的值

<input type="hidden" name="" value="" />
type="hideen" 表示该为隐藏域,通常用于前后台传值。或者存取值
回复
liangtu 2012-10-23
这个input除了不显示,其余的和普通的可见的input是一样的。

我的理解是:这个参数我需要,但是要在页面上看不到。
回复
楼上说的是对的。就相当于变量=值。
回复
yuyuefeng92 2012-10-23
name名字最好和你后台属性的成员变量对应,否则在参数传递的时候接收不到出现空指针异常。
一般表单提交后input会以name的值=value的值的形式传给后台。如:<input type="hidden" name="password" value="1234">表单提交后会以这样的形式传值:password=1234
回复
王者_来归 2012-10-23
name你可以随便取,但是一般要明了,value是隐藏的值。
回复
snow-is-my-Love 2012-10-23
name 是 你在action中获得 这个文本框变量的 名称,
value 是这个隐藏文本框的 值
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告