碰到一个问题,在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表达式即刻显示的办法,还请赐教,谢谢!