永发信息网

action 里设置一个值,如何在jsp页面上用el表达式显示出来

答案:3  悬赏:40  手机版
解决时间 2021-01-28 15:07
  • 提问者网友:書生途
  • 2021-01-27 15:24
在action里设置了一个public int a,然后get set,a=10;在jsp页面用${a}显示为空,这是怎么回事啊
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-01-27 15:43
action里面的值在jsp页面可以这么用el表达式获取:

action代码:
public void doPost(HttpServletRequest request , HttpServletResponse response) throws ServletException, IOException
{
request.setCharacterEncoding("UTF-8");
Map<String , String[]> m = request.getParameterMap() ;
for(String name : m.keySet())
{
System.out.println(name + ":" + m.get(name)[0]) ;
request.getSession().setAttribute(name, m.get(name)[0]);
}

request.getRequestDispatcher("theEnd.jsp").forward(request, response);
}

jsp页面取值方式:
<c:forEach items="${pageContext.session.attributeNames }" var="name">
${name}=${sessionScope[name]}<br/>
</c:forEach>
全部回答
  • 1楼网友:爱难随人意
  • 2021-01-27 16:46
要放到 request或者session中 方法1:request.setAttribute("a",a); //推荐此方法 方法2:session.setAttribute("a",a); //该方法一般用于存储用户的登录信息页面上就是 ${a}
  • 2楼网友:狂恋
  • 2021-01-27 16:13
el表达式 是为了方便我们获取页面及javabean 的值 比如,如果没有el表达式,我们是用request.getattribute(“test”)来获取后台java的值,这是我们必须知道test 的类型,然后使用强制转换把他转换成和test对应的类型: string test = (string)request.getattribute("test"); 但是有了el表达式之后,我们获取request属性的值 只需要${requestsocpe.test} 不需要关注test 的类型,el语言会自动帮我们解决。这就把程序设计人员从繁杂的类型转换上解脱出来,从而可以集中精力关注其他的逻辑。 希望对你有所帮助。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯