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

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

可是在action1.update方法中,怎么才能得到用户修改后的数据呢?
...全文
407 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanhm1991 2014-08-04
  • 打赏
  • 举报
回复
表单中的控件名,必须与Action类中的属性名同名,才能够完成自动保存 无需再使用request.getParameter()方法来获取请求参数了 例如: <input type="text" name="userName" /> public class LoginAction extends ActionSupport{ private String userName; //Getter and Setter Method }
菜鸟求学者 2013-03-31
  • 打赏
  • 举报
回复
提几个问题,你可以参考下: 1、首先你用的不是标准的action提交。你用到了标签库。 2、action标准提交的话,jsp属性名是要和java实体类的属性名一致的。然后在action中调用实体类的属性名。 只供参考,具体你自己分析下。如果你这只是简单的提交,可以不用这么麻烦的,如果是要求这么提交,你可以再好好研究下。。。。
zengjd 2013-03-29
  • 打赏
  • 举报
回复
引用 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方法里,怎么也得不到当前选择的省份的
  • 打赏
  • 举报
回复
request.getparameter............................
lvzg_005 2013-03-29
  • 打赏
  • 举报
回复
页面标签上的name属性和action类中的属性保持一致,Struts会自动将值填充到Action类中属性
huage 2013-03-29
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/lishuai103/1782101 去下来看看嘛
菖蒲老先生 2013-03-29
  • 打赏
  • 举报
回复
引用 1 楼 God_like_nana 的回复:
reguest.getParamet("")
没一个单词对的。。。
MakeUrChois 2013-03-29
  • 打赏
  • 举报
回复
可以参考一下这篇博文。还比较详细。 http://www.cnblogs.com/bukudekong/archive/2012/03/29/2423064.html 另外STRUTS2的包里面有几个sample,很助于入门学习。
sgyyz 2013-03-29
  • 打赏
  • 举报
回复
reload一次你的数据
  • 打赏
  • 举报
回复
reguest.getParamet("")

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧