为什么Action中得不到form表单中的值

jsp页面:<selectname="imgType">action:StringimgType=String.valueOf(request.getParameter(... jsp页面:
<select name="imgType" >

action:
String imgType = String .valueOf(request.getParameter("imgType"));
System.out.println("imgType=="+imgType);

打印出来的:
imgType==null

哪位高手解决下。
我用了隐藏表单域:
<input type="hidden" name="imgType" value="asdf"/>
form:
public class ImgType extends ActionForm{
private String imgType;
//下面省略getter和setter方法
}

action:
ImgType img = (ImgType)form;
System.out.println(img.getImgType());
但是抛空指针异常:
Unhandled Exception thrown: class java.lang.NullPointerException

======================================
我配置了,不知道是什么问题,还是抛空:
<form-beans>
<form-bean name="imgForm" type="com.yitong.app.form.ImgType">
</form-bean>
</form-beans>

<action name="imgForm" parameter="action" path="/biz01/T0106" scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="add" path="/pages/01/06/010601_A.jsp" />
</action>
展开
 我来答
匿名用户
推荐于2016-04-11
展开全部
不知道你用struts哪个版本。
如果你用struts2的话。只有作为参数传递到action中的才能用request.getParameter取值。
否则你要在action中加全局变量imgType,并且实现这个变量的get和set方法(主要是set方法)。这样就能取到了。struts2会自动把其值通过set方法设置过去。然后你直接使用变量就行了。

struts1的话,要在ActionForm里加入这个变量的,也要实现get set方法
==================
我上面说了,需要在ActionForm里加变量的,这是struts要求的。
表单
<form>
<!-- 这个hidden就是默认一个值,页面不显示,后台可以拿到这个值 -->
<html:hidden property="username" value="1"/>
</form>
一个与之对应的form类
public class UserForm extends ActionForm{
private String username;
//下面省略getter和setter方法
}
在action的方法中
其有参数ActionMapping mapping, ActionForm form
UserForm testForm = (UserForm ) form;
testForm.getUsername(); //这样就可以拿到值。
// 如果不这样做,你只能加到action后的参数里。
======================================
你应该没在struts-config.xml配置
<form-beans>
<!-- 这里加了没 ? -->
<form-bean
name="UserForm"
type="包.UserForm "> 全路径
</form-bean>
</form-beans>

然后action配置,主要加name那点。也可以name="包.UserForm",就不需要写上面的form-bean了
<action path="你原有的" name="UserForm" type="你原有的" 其余不变
小陈1020
2010-12-13 · 超过15用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
按照如下步骤检查一下:
1.<select>表单是要设<option value="">的
2.select 的名字需要和form中的一样。
3.在struts-config.xml中要指定action的属性name和form的对应关系
是否转型要看你的form中定义的select 名字是什么类型的一般,都为String类型
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
精致且沉稳丶国宝8435
2010-12-13
知道答主
回答量:23
采纳率:0%
帮助的人:13.4万
展开全部
你页面上的select也没有设置value啊?自然是没有value传输过来的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谭致Df
2010-12-13 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:155万
展开全部
String imgType = String .valueOf(request.getParameter("imgType"));
没必要转型,从页面传过来的值都是String 类型的
String imgType = request.getParameter("imgType");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式