天天看点

JSP页面与后台传值问题

          在最近GG项目开发过程,在JSP页面向后台传值过程中遇到一个特别奇怪的问题。

          在平时这些根本都不是问题,不清楚,却被这个问题困了很长时间。

         一边情况下,在JSP页面中往后台传值就是直接使用:window.locaion.href="xxxxxxxx.action?id=" target="_blank" rel="external nofollow" +id;即可。

   不过,现在使用这种方式,值如何也传不到后台,最后,试了很多种方式,终于找到了2种方式,可以把id值传到后台。

   1>把id值用单引号‘’,括起来。写法为:window.locaion.href="xxxxxxxx.action?id=‘" target="_blank" rel="external nofollow" +id+“’”;

这样写,就可以在后台获得相应id的值了,不过,如果传过来的id值为3,那么后台通过String str = request.getParamers("id");  此时str值为'3'。下面就需要通过相应的操作来获取3。

   2>直接在id= 后面加上一个 空格,那个传到后台就是单独的一个id值,不过,这时要享受会用id,还需要.trim()一下。

    写法为:window.location.href="adContentMgr_updateImageMetaRedirect.do?id= " target="_blank" rel="external nofollow" +id+" ";(这里再?id= 后面有一个空格)。

   在后台时需要.trim(),这时需要先判断后台获取的id值是否为空,不为空,再使用.trim()方法。

        String id = request.getParameter("id");

        if(id1!=null&&!"".equals(id1)){

            id1 = id1.trim();

            imageMeta = adAssetsService.getImageMetaById(Integer.parseInt(id1));

      }

      2种方法比较起来,本人比较推荐使用第二种方法,无论是写法,还是简单程度来讲都是很方便的。

   在实际中,我就使用的第二种方法

继续阅读