您的位置:首页 > 编程语言 > Java开发

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

2015-12-08 22:53 337 查看
今天遇到一个问题就是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注释
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: