2011-04-04 62 views
0

我试图与JSP一个简单的登录,我有这样的JSP定制标记禁止使用的其他任何

<h:mainwrapper>

一些简单的div的内部自定义标签...什么我试图做的是在该自定义标签内执行<%=error %>

我得到以下错误:

org.apache.jasper.JasperException: /login.jsp(38,8) Scripting elements (&lt;%!, &lt;jsp:declaration, &lt;%=, &lt;jsp:expression, &lt;%, &lt;jsp:scriptlet) are disallowed here.

代码例如:

<h:mainwrapper> 
     <h:topempty /> 
     <div style="margin: auto; width: 300px; height: 300px; border: 1px solid black; margin-top: 100px;"> 
      <div style="width: 170px; height: 250px; margin: auto; text-align: center;"> 

       <form action="LoginCheck" method="post"> 
        <p>Login name:</p> 
        <input type="text" name="loginname" /> 
        <p>Password:</p> 
        <input type="password" name="loginpass" /><br /> 
        <input type="submit" name="submit" value="Login" /> 
       </form> 

       <div style="color:#f00;"> 
        <%=error %> 
       </div> 
      </div> 

     </div> 
    </h:mainwrapper> 

我一定要实现的东西,让这个被允许?

回答

1

使用EL。假设error被设置为页面,请求,会话或应用程序范围的属性,那么你可以做

${error} 
+0

太棒了!另一个问题,但;如果你想用EL来遍历一个列表呢? – KristianB 2011-04-04 16:37:17

+0

使用JSTL''。欲了解更多,请参阅此答案:http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files/3180202#3180202 – BalusC 2011-04-04 16:39:57

+0

JSTL听起来像我必须把很多工作进入这个,只是为了迭代... – KristianB 2011-04-04 16:43:28

相关问题