关于jsp页面传值和取值的一些疑惑。

wkit 发布于 2016/03/06 17:36
阅读 577
收藏 0

在学习struts时,一直没弄懂在jsp页面通过action传值和取值显示这些问题。当时记过有好几种不同的写法,不过现在都忘了,只剩下一种比较不合理的。如下:

<s:form action="add.action" method="post">
		<s:textfield name="adminNo" label="用户名"></s:textfield>
		<s:textfield name="name" label="用户名"></s:textfield>
		<s:password name="password" label="密码"></s:password>
		<s:submit value="提交"></s:submit>
		
	</s:form>



这种是我在action中定义了三个字段,就是name,对应就可以获取到了,但这种方法之前有个同学跟我说不合理,我就不采用了。

然后我记得还有两种,一种是:

<s:textfield name="#Admin.adminNo" label="用户名"></s:textfield>

貌似是这种,Admin是类名,adminNo是类下的一个字段。

第二种是:

<s:textfield name="Admin.adminNo" label="用户名"></s:textfield>
没有了“#”号

不知道有没记错,我在网上找的时候可能方法有点不对,找不到准确解决的帖子或者博客。。

好了,我的问题就是,这个name属性里到底要怎么写,action又要怎么的去对应呢?

加载中
0
阿斯兰
阿斯兰
记得写 # 的时候是取值
<s:textfield name="admin.adminNo" label="用户名"></s:textfield>

这么写是对的,后台定义 Admin的实体类,然后在action中

private Admin admin;
//get set



提交后就会自动封装到里面。还有一种是实现 ModelDriven<T>



wkit
wkit
我一开始测试的时候是这样写的,但发现怎么都传不了值到action。。
0
maradona
maradona
我觉得你可以看下源码~~   struts标签应该也是jsp自定义标签的一种,手上没有struts的项目就没办法帮助你咯
wkit
wkit
看过几个,就都是类似admin.name这样传,然后#admin.name这样取。。
0
MockMan
MockMan
依稀记得有两个取值的空间,好久不用忘记了
0
六月星星

<s:textfield name="Admin.adminNo" label="用户名"></s:textfield>这种可以的,action中写一个get set得到Admin实体,private Admin admin ;

后台用admin.adminNo就可以得到值,至于请求没有进入action,就检查action名称和struts.xml配置是否正确,可以看下ModelDriven<T>这个接口更好用。


返回顶部
顶部