在jsp中如何用request中获取后台传来的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jsp中如何用request中获取后台传来的数据?相关的知识,希望对你有一定的参考价值。

我使用的是struts1结构,在一个actionform中,
request.setAttribute("datetime", datetime);
return mapping.findForward("drawStack");

之后会跳转到drawStack.jsp中,
当跳转到drawStack.jsp中时,jsp中有如下定义:
<%
String datetime1 = (String)request.getParameter("datetime");
%>
<img src="/Hangtian/DisplayChart?filename=<%=datetime1%>" />

但我每次得到的datetime1都是Null,请问是怎么一回事,该如何解决?谢谢!

    用request.getAttribute获取,而不是getParameter。

    HttpServletRequest接口有setAttribute方法,而没有setParameter方法

    当两个Web组件之间为链接关系时,被链接的组件通过getParameter方法来获得请求参数

    String datetime1 = (String)request.getAttribute("datetime");

    通常情况下,你每次提交(点击搜索)的时候,

    过程如下: 转到后台,根据你的输入生成新的sql语句转到后台

    数据库查询出新的表格内容

    转到前台展示整个页面

    到了展示的这一步,会生成新的页面,虽然是跟上一个一样的页面,其实他的内容都是重新生成显示的.

参考技术A 你用的是request.setAttribute("datetime", datetime);设置的值,所以对应的应该用request.getAttribute("datetime");来取值.

request.getParameter("datetime");顾名思义,是当你用参数的方式通过url或表单将datetime传递从一个页面传递到另一个页面或action时,在目的地采用request.getParameter("datetime")获取传过来的参数值
参考技术B 用request.getAttribute获取,而不是getParameter。
(1)HttpServletRequest接口有setAttribute()方法,而没有setParameter()方法
(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,

String datetime1 = (String)request.getAttribute("datetime");本回答被提问者和网友采纳
参考技术C 用request.getAttribute获取,而不是getParameter。

jsp用el表达式获取后台传来的值,或者获取session中的值

<script type="text/javascript">
    var usernameC = ${sessionScope.SESSION_USER_PROFILE.accountId};
    var caseId = "${caseId}";
    var taskId = "${taskId}";
    var uuid = "${uuid}";
</script>

 后台控制层代码:

    @GetMapping(value = {URI_FILE_CASE_PANEL_AUDI, URI_FILE_CASE_PANEL_AUDI_HTM})
    public ModelAndView indexFile(@RequestParam(value = "caseId", required = false) Long caseId,
                                  @RequestParam(value = "taskId", required = false) String taskId,
                                  @RequestParam(value = "uuid", required = false) String uuid) {

        LOGGER.info("enter file case audit panel,caseId:{},taskId:{}", caseId, taskId);
        ModelMap map = new ModelMap();
        map.put("caseId", caseId);
        map.put("taskId", taskId);
        map.put("uuid", uuid);
        return new ModelAndView(FWD_FILE_CASE_PANEL_FILE_CASE, map);
    }

 

以上是关于在jsp中如何用request中获取后台传来的数据?的主要内容,如果未能解决你的问题,请参考以下文章

jsp中如何用request对象获取复选框的多个值

jsp中js里怎么接收后台传来的值

如何通过submit提交form表单获取后台传来的返回值

在java Web中如何用Ajax实现用户名已存在

java中如何用setAttrbute()传递参数啊?请举例说明,谢谢!

java中如何用json格式发送并接受arrayList?