-2

以下は、taglibs でスクリプトレットを使用している私のコード スニペットです。

 <display:column title="Modify">
        <%String userType=(String)session.getAttribute("userType");
        if(userType.equalsIgnoreCase("D"))
        {
        %>

     <html:link action="/deleteOwner.do?type=del&owner_id=${data.owner_id}">Delete</html:link> 

     <%} else if(userType.equalsIgnoreCase("A")){%>

        <c:if test="${data.type == 'A'}">  

     <html:link action="/deleteOwner.do?type=del&owner_id=${data.owner_id}">Delete</html:link> 
        </c:if>
                </display:column>

        <%}%>

しかし、私は得ています

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 280 in the generated java file
Syntax error, insert "while ( Expression ) ;" to complete DoStatement
4

1 に答える 1

1

スクリプトレットと jstl を混在させないようにしてください。頭が痛くなるだけです。代わりに、if/else ステートメントを choose/when/otherwise ステートメントに置き換えます。

equalsIgnoreCase() ステートメントの場合、単純に userType で fn:toUpperCase を呼び出して比較を行うことができます。

EL を使用すると、 ${userType} を使用して userType 引数を取得できます

于 2012-06-28T13:14:35.443 に答える