el表达式----属性名无法显示----必须刷新显示

碰到一个问题,在action里面定义了一个属性,然后get set方法,jsp直接使用${属性名}获取,结果为空的,这让我一个小白感到很难受,最后也勉勉强强算是找到了解决的方法。



java代码大致这样:

  private Integer age;
  private String name;

  public Integer getAge() {
      return age;
  }

  public void setAge(Integer age) {
      this.age = age;
  }

  public String getName() {
      return name;
  }

  public void setName(String name) {
      this.name = name;
  }

    age = 18;
    name = "晓晓";



jsp代码大致这样:

  ${age}
  ${name}
  <script>
          $.get("dept/mgrListbs.action", {}, function (result) {

          }, "json")

  </script>

然后问题来了,页面都显示不了age和name;最后解决方法是这样的


<—————————————————————–>
将属性值存进session,然后在通过el表达式获取;
java代码改成:

    age = 18;
    name = "晓晓";

ServletActionContext.getRequest().getSession().setAttribute("age",age);
ServletActionContext.getRequest().getSession().setAttribute("name",name);



jsp代码改后:

 ${session.age}
 ${session.name}

然后这样就可以获取到了;;;;;



<—————————————————————–>
但是最后一个问题来了,就是页面必须刷新一下el表达式才能够显示出对应的值,但是我们也不能每次都去手动刷新,只好采用了一个笨办法,如下:

  <script>      
          function reurl(){

              url = location.href; //把当前页面的地址赋给变量 url

              var times = url.split("?"); //分切变量 url 分隔符号为 "?"

              if(times[1] != 1){ //如果?后的值不等于1表示没有刷新

                  url += "?1"; //把变量 url 的值加入 ?1

                  self.location.replace(url); //刷新页面

              }
          }

          onload=reurl
  </script>

有好的解决el表达式即刻显示的办法,还请赐教,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值