amo_njupt 2010-03-10 16:23
浏览 283
已采纳

怎样将jsp页面中的提交参数读入到Action中?

(1)setorder.jsp页面

填写顾客信息

姓名:
地址:

(2) Struts2中配置的对应配置如下

    <action name="orderok" class="edu.njupt.action.OrderBookAction">
        <result name="success">/shopjsp/orderok.jsp</result>
        <result name="input">/shopjsp/setorder.jsp</result> 
         <interceptor-ref name="adlogininterceptor"/>       
    </action>

Adlogininterceptor是自定义的一个拦截器,用于区分登录用户与非登录用户。
(3)OrderBookAction类的excute()成员方法代码如下:
public String execute() throws Exception {
//不用判断用户是否登录,由Struts拦截器来判断
//生成订单,确认用户信息,添加至数据库-订单表
Order order = new Order();//Order是个订单类
Map request = (Map)ActionContext.getContext().get("request");
realname = (String)request.get("realname");
System.out.println(realname);
address = (String)request.get("address");
System.out.println(address);
order.setRealname(realname);
order.setAddress(address);

//添加到数据库
bookcontrol.CreateOrder(order);
return "success";
}
(4)问题:

后台会报错,realname,address都显示为null,在OrderBookAction类中已定义了realname,address变量,并提供了get/set方法,也传递了参数orderok.action? realname=%B0%A2%C4%AC&address=%D0%C2%C4%A3%B7%B6%C2%ED%C2%B766%BA%C5,为什么在excute()方法中读取不到页面提交的数据呢?怎样解决?谢谢!

  • 写回答

5条回答 默认 最新

  • xwz_adolf 2010-03-10 17:43
    关注

    (1)将method设为“get”以及excute()方法中添加那些打印参数语句是为了调试用的。在实际的setorder.jsp中提交的不只是realname,address两个参数,还提交了另外一些参数,有些参数并不是Order类的属性,请问这是否影响结果?是否还能在setorder.jsp中用order.address?
    答:
    1.Order类的属性直接使用我说方法
    2.不是Order类的属性,是其他PO类的属性,只要在action中有该PO的set,get方法即可将值设置到该po的属性中
    3.是其他值
    a.作为action的变量并 设置get,set方法;
    b。不作为action的变量。使用request.getParameter("");获得该值。

    (2)在数据库中order表的属性为name,address,并非setorder.jsp对应的realname,address,并且在Order.hbm.xml中配置的也是name,address,请问这是否也是可能不能得到正确结果的原因?

    答: 上面的第3中情况。
    是可以获得正确的结果的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?