jstl的<c:set 的问题

在使用jstl提供的set标签对javabean进行处理的时候发现直接打bean的名字会错

  <jsp:useBean id="kkk" class="com.login.bean.MyBean" ></jsp:useBean>
<jsp:setProperty property="name" name="kkk" value="kjw"/>
    <jsp:setProperty property="password" name="kkk" value="123"/>
       <c:set value="kjwwwwwww" property="name" target="kkk"></c:set>
    <c:out value="${kkk.name }"></c:out>

直接target="kkk"的话这样标签是不能获取到bean对象然后报错。

要改成:

<c:set value="kjwwwwwww" property="name" target="${kkk}"></c:set>

这样子才能获取到bean对象。

原因分析是生成的bean对象是被放到某个作用域的attribute里面。而直接"beanname"这样获取的是this对象里面的变量。所以无法获取。

原文地址:https://www.cnblogs.com/JieWen/p/5757819.html