java,大家好!经过后台查询,返回到action中是一个实体Model,也就一个类Model,此类中有个属性code,code是String类型,值是“07”,但是在jsp页面中,用js获得code的值 request.getAttribute(“model.code”),结果是“7”,0 没了,用el表达式获得也一样,这是怎么回事儿?另外我试了,在jsp页面中body里写个文本框,就是input输入框,他的value给成${model.code},文本框值是 07大家知道的回复一下吧。

解决方案 »

  1.   

    js你是怎么得到的?加上''看看,或者eval看看
      

  2.   

    ${model.code}这个获取都是对的!问题应该在你的js代码里面
      

  3.   


    应该是js的问题,
    不知道你的js部分是怎么写的
      

  4.   

    ${model.code}值是再text文本里面
    文本必须在
    <s:form>
    <text>里面
    </>
    Action继承model是吧?
    返回值必须有get,set
      

  5.   

    谢谢大家的回复,action中肯定有model实体的get,set方法,我觉得吧问题出现在js里,他
    把07当成数字处理了,js代码 var code  = <%=request.getAttribute(“model.code”)%>; alert(code); 是 7
      

  6.   

    希望有哪位知道js原理,或struts2原理的朋友。也许可以找到原因
      

  7.   

      你应该在alert的时候 使用此中方式:alert('code');
      

  8.   

    alert('code'),把code当成字符串儿了,弹出来的的code,明白吧!
      

  9.   

    var code = '<%=request.getAttribute("model.code");%>';

    var code = '${model.code}';
    加单引号试试。。
    不行的话就用隐藏域.
    <script>
    var code = document.getElementById("code").value;
    </script>
    <input type="hidden" id="code" value="${model.code}"/>
      

  10.   

    var code = '<%=(String)request.getAttribute("model.code");%>';
      

  11.   

    11楼说的这个我试过了,不行的,在获得时就已经是 7 了,再转成String,还是7,所以不好使,
    10楼说的,上面用单引号,我试试,如果可以给你分,下面的那样不安全,因为页面是从上往下执行的,js在获得隐藏域值的时候,隐藏域还没有被加载,所以,那样是不安全的,当然,加载很快的话是看不出这个问题的。
      

  12.   

    应该说js是弱类型,把他当作一个int了吧,在后面加+“”,试下
      

  13.   

    13楼,14楼 说是弱类型,我同意,我也知道 js 是弱类型,但不是 你们说的方法解决不了今天有空,看了一下,已经解决了,下面我说一下:1楼, 10 楼, 11楼,给分 13楼,14楼说对了一半, 也给分,所有的参与人员,都给分,以表示鼓励回帖我起初是这样写的: var  y  = <%=request.getAttribute("turnsIdea.gotoSystem")%>;我刚才试了一下: var y = <%=(String)request.getAttribute("turnsIdea.gotoSystem")%>;不行,虽然加了(String) 那只是java代码,在java里转成了String,赋值给js y 的时候,js是弱类型,js认为你给的值就是数字,因为没有加‘’号,我看了10楼的代码,明白了,于是改成了下面这样:var  y  = ‘<%=request.getAttribute("turnsIdea.gotoSystem")%>’; 
    或 
    alert('${turnsIdea.gotoSystem}'); 给js变量的值赋予类型,加‘’就说明是String ,弹出来的就带0了。不知道我说明白没有,谢谢大家乐!结贴,给分