
你的需求不想在表单提交后获取他们的值 如果不用ajax是不可能的 所以学习一下ajax吧
如果使用ajax你必须使用javascript
首先为你想获得的内容设一个事件源 比如你在一个文本框内输入一些内容 不通过提交表单而访问struts的action 那么可以给文本框加一个 id="txt1" onblur="fn()"//失去焦点事件 访问javascript里的fn()函数
那么我们可以在fn()函数里 *** 作
<script language="javascript" type="text/javascript">
function fn(){
var id=documentgetELementById("txt1")value;//获得文本框内容
var request = new XML>
在ACTION中添加值属性:public String year;//<select>标签中的name属性值要和这里的完全相同。
然后再加上year的get和set方法。
把表单传递过来的参数封装成一个类,然后调用其中的属性 如,把loginjsp页面要传来的参数进行封装
Private String username;
private String password;
public String
getUsername() { return username; }
public void setUsername(Stringusername) { thisusername = username; }
public String getPassword(){ return password; }
public void setPassword(String password) {thispassword = password; }
然后再Action方法中,定义该类的对象就可以了,
如 public class loginAction extends ActionSupport{
private Users users;
Public Users getUsers(){ return users; }
public void setUsers(Users users){ thisusers=users; } }
通过这种方法传值,还必须在jsp页面做一下处理,loginjsp中from1的属性名应该改成这样: 登陆表单loginjsp:
<form action="login" method="post" name="form1">
用户名:<s:textfield name="usersusername"/><br/>
密 码:<s:password name="userspassword"/><br/>
<s:submit value="提交"/>
</form>
这种方法,在struts开发中是很常用的一种方法!
通过实现ModelDriven接口接收表单数据(还没有用过,可以尝试。)
首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法
public class loginAction extends ActionSupport implements
ModelDriven<Users>{
private Users users =new Users();
public Users getModel(){ return users; }
}
action的配置有问题,没和form相关起来!
struts1x是通过form提交到servlet然后servlet根据struts-configxml中的配置寻找对应form的action,然后把form提交给action进行处理的。
另外你把scope改成session!
<action path="/test" //这个是action
scope="session"
name="testForm" //这里是form,这样就和上面的action对应了
type="comdemo2strutsactionsTestAction" parameter="method">
</action>
js不太懂了!
以上就是关于Action怎样获取页面的值呢全部的内容,包括:Action怎样获取页面的值呢、form表单的action提交的数据是什么格式、Struts2中怎样把form表单中select中的选中值传到Action中获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)