Spring与jsp表达式的产生的问题

今天遇到一个问题就是Spring标签与jsp表达式的问题

直接上代码

<form:form commandName="book" action="/book_update" method="post">
    <fieldset>
        <legend>Edit a book</legend>
        <form:hidden path="id"/>
        <p>
            <label for="category">Category: </label>
             <form:select id="category" path="category.id" items="${categories}"
                itemLabel="name" itemValue="id"/>
        </p>
        <p>
            <label for="title">Title: </label>
            <form:input id="title" path="title"/>
        </p>
        <p>
            <label for="author">Author: </label>
            <form:input id="author" path="author"/>
        </p>
        <p>
            <label for="isbn">ISBN: </label>
            <form:input id="isbn" path="isbn"/>
        </p>
        
        <p id="buttons">
            <input id="reset" type="reset" tabindex="4">
            <input id="submit" type="submit" tabindex="5" 
                value="Update Book">
        </p>
    </fieldset>
</form:form>

问题是在action="/book_update"中,这个action经过在提交时会有问题,想起了项目中的basepath,就试着去做了,但是总会报一个错,就是%>没有正确的结束,猜测是因为spring标签中不能插入java表达的代码,后来查了一下,说spring标签兼容el,所以,就这样写

//获取basepath

<%basepath="..."%>

 

<c:url value="<%=basepath%> var="basepath" />

在action这样写

action="/'${basepath}'book_update"

这样就ok,核心是用el表达式不要用输出表达式

补充:

<% %>   叫做java脚本(局部变量)

<%= %>   叫做输出表达式

<%! %>   叫做jsp声明(相当于全局变量)

<%-- --%>   叫做jsp注释

 

posted @ 2015-12-08 22:53  牵牛花  阅读(258)  评论(0编辑  收藏  举报