Code Bye

使用Struts2,在Action中怎么才能得到页面提交的数据?

 

我初学Struts2,一个很初级的问题难倒我了。 
我页面上有很多标签(input,select,checkboxList等等), 
这个标签调用action1.load方法填充数据,然后用户修改, 
修改后通过submit调用action1.update方法提交。 

可是在action1.update方法中,怎么才能得到用户修改后的数据呢? 

reguest.getParamet(“”)
reload一次你的数据

10分
可以参考一下这篇博文。还比较详细。
http://www.cnblogs.com/bukudekong/archive/2012/03/29/2423064.html

另外STRUTS2的包里面有几个sample,很助于入门学习。

引用 1 楼 God_like_nana 的回复:

reguest.getParamet(“”)

没一个单词对的。。。


10分
http://download.csdn.net/detail/lishuai103/1782101
去下来看看嘛

20分
页面标签上的name属性和action类中的属性保持一致,Struts会自动将值填充到Action类中属性
request.getparameter……………………….
引用 6 楼 lvzg_005 的回复:

页面标签上的name属性和action类中的属性保持一致,Struts会自动将值填充到Action类中属性

我也是这么想的,可是不行啊。
你看我的Action:

<action name="provinceAction_*" class="com.wq.web.action.provinceAction" method="{1}">
    <result type="json"/>
</action>

Action代码


public class provinceAction extends ActionSupport 
{
	private String province;
    private List<String> provinces=new ArrayList<String>(); 
    public List<String> getProvinces() 
    { 
         return provinces; 
    }
    
    public void setProvinces(List<String> provinces) 
    { 
         this.provinces = provinces; 
    } 

    @Override 
    public String execute() throws Exception 
    {	 	 
         provinces.add("河北省"); 
         provinces.add("河南省"); 
         provinces.add("湖北省"); 
         provinces.add("湖南省"); 
         provinces.add("XXX");
         return Action.SUCCESS;  
    }
    
    public String test()
    { 	    
    	String s=province;
    	return SUCCESS;
    }
}

JSP页面:

<body>
	<div id="result" class="result">
		<span id="myIndicator1" style="display: none">
			<img src="img/indicator.gif" alt="正在加载..." />正在加载.... 
		</span>
	</div>
	<s:form id="myform" action="provinceAction_test">
		<s:url id="remoteURL" action="/provinceAction_execute" />
		省份:<sj:select
				href="%{remoteURL}"
				id="province"
				name="province"
				emptyOption="false"
	  		    list="provinces">
		 	</sj:select>
	</s:form>
	<sj:submit id="ajaxlink" formIds ="myform" targets ="result" value="发送Ajax请求"/>
</body>

在Action的代码的test方法里,怎么也得不到当前选择的省份的

提几个问题,你可以参考下:
1、首先你用的不是标准的action提交。你用到了标签库。
2、action标准提交的话,jsp属性名是要和java实体类的属性名一致的。然后在action中调用实体类的属性名。

只供参考,具体你自己分析下。如果你这只是简单的提交,可以不用这么麻烦的,如果是要求这么提交,你可以再好好研究下。。。。

表单中的控件名,必须与Action类中的属性名同名,才能够完成自动保存
  无需再使用request.getParameter()方法来获取请求参数了
  例如:

  <input type=”text” name=”userName” />

  public class LoginAction extends ActionSupport{
      private String userName;

      //Getter and Setter Method
  }


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明使用Struts2,在Action中怎么才能得到页面提交的数据?