永发信息网

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

答案:4  悬赏:20  手机版
解决时间 2021-03-17 08:11
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>
最佳答案
不知道你用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="你原有的" 其余不变
全部回答
你页面上的select也没有设置value啊?自然是没有value传输过来的。
String imgType = String .valueOf(request.getParameter("imgType")); 没必要转型,从页面传过来的值都是String 类型的 String imgType = request.getParameter("imgType");
按照如下步骤检查一下: 1.<select>表单是要设<option value="">的 2.select 的名字需要和form中的一样。 3.在struts-config.xml中要指定action的属性name和form的对应关系 是否转型要看你的form中定义的select 名字是什么类型的一般,都为String类型
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鑫达服装厂地址在什么地方,想过去办事
口袋妖怪复刻快龙mega后性格会变吗
古诗风全文
求一首诗送我朋友刘建兰,形容她漂亮的
南华汽车快修店怎么去啊,有知道地址的么
电脑机箱能不能长时间平放,有什么损害吗?
陕西中航建筑安装有限公司地址在什么地方,想
崩坏3rd德丽莎·阿波卡利斯带什么武器
美国的登记照?
阿里巴巴上面我退货的时候没有写退货的物流单
赵师傅百年水饺在什么地方啊,我要过去处理事
如果想把快递送到朋友家,让朋友代收一下,那
外公和爷爷在英文里如何区别?
天涯明月刀 宠物技能怎么重新学
C+蜜品这个地址在什么地方,我要处理点事
推荐资讯
问;日本小有名气的钢琴师有哪些人 例如【触
林俊杰和阿sa唱的歌叫什么?
鱿侠客愤怒大鱿鱼(五马店)地址在什么地方,想
17到20万有什么好车介绍?
能不能用姓名查询住房公积金
怎样让纯棉缩水
I3三代3100M,,HD4000,128M显存,,,平时
在英语中收音机和录音机有区别吗?
南宁市罗山古寺
下班后没事做,想做点小生意,但又不知道做什
用玻璃胶可以用在钢材水管的破裂处吗
赏析:元朝王恽的《点绛唇 雨中故人相过》
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?