您的位置:首页 > 职场人生

程序员的 59 条搞笑但却真实无比的编程语录

2014-02-06 15:03 323 查看
想在代码中设置了一个属性,然后再页面中可以用${name}的形式获取。
使用struts,首先尝试getRespond(),返回HttpServletRespond,发现没有setAttribute或者setParam之类的方法。但是使用getRequest,返回HttpServletRequest,有setAttribute,测试有效,例如
this.getRequest.setAttribute("name", "lingceng");

在页面中使用${name},便能等到lingceng。

疑问:
按照字面理解,request是请求,respond是回复,向页面设置参数应该是在respond上操作,为什么是在request呢?

解答:
解释不难,要从一些基本html的概念出发。request可以看做是浏览器上的一条url,可以接参数,如果是get方式,就能显示地看到如?name=lingceng的样子。而respond只是一系列字符流,没有设置参数一说。
至于为什么request上的参数会到页面上呈现,就在于EL表达式可以访问requestScope的数据

JSP_EL的回顾
简化方式使用了EL,依次从PageContext,HttpServletRequest,HttpSession,servletContext中查找varName的属性对应值。若没有则返回空字符串,若具有同名属性,取得的是靠前对象中的属性值。也可以指定scope:
${requestScope.username }

JSP中9个隐藏对象

TODO:struts value stack
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: