2013-04-29 71 views
0

幾天前這種配置的作品,但現在我已經得到:Spring MVC的視圖

javax.servlet.ServletException: Could not resolve view with name '' in servlet with name 'XXX' 

爲:

http://localhost:8081/resourceArea/save 

我的控制器看起來像:

@Controller 
@RequestMapping("/resourceArea") 
public class ResourceAreaController{ 
.... 
@RequestMapping(value = "/save", method = RequestMethod.POST) 
public String save(@ModelAttribute @Valid ResourceArea aEntity, BindingResult aBindingResult, Model aModel, SessionStatus status, 
        HttpSession session) { 
... 
} 

我視圖配置了之前完美的瓷磚:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
    "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
    "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 
<tiles-definitions> 
<definition name="base.definition" 
      template="/WEB-INF/pages/layouts/layout.jsp"> 
    <put-attribute name="title" value="Pit 2 Web Demo"/> 
    <put-attribute name="header" value="/WEB-INF/pages/layouts/header.jsp"/> 
    <put-attribute name="menu" value="/WEB-INF/pages/layouts/menu.jsp"/> 
    <put-attribute name="content" value=""/> 
    <put-attribute name="footer" value="/WEB-INF/pages/layouts/footer.jsp"/> 
</definition> 

<definition name="home" extends="base.definition"> 
    <put-attribute name="content" value="/WEB-INF/pages/home.jsp"/> 
</definition> 

<definition name="denied" extends="base.definition"> 
    <put-attribute name="content" value="/WEB-INF/pages/denied.jsp"/> 
</definition> 

<definition name="/*/*" extends="base.definition"> 
    <put-attribute name="title" value="{2} {1}"/> 
    <put-attribute name="content" value="/WEB-INF/pages/{1}/{2}.jsp"/> 
</definition> 

<definition name="/raw/*/*" template="/WEB-INF/pages/layouts/empty.jsp"> 
    <put-attribute name="content" value="/WEB-INF/pages/{1}/{2}.jsp"/> 
</definition> 

</tiles-definitions> 

這很奇怪,因爲這隻發生在保存操作中。

+0

在Spring中,方法返回的字符串必須與a相匹配查看文件名!你在保存方法中返回什麼?實際上是否需要返回?你不能只使用void? – MatthiasLaug 2013-04-29 06:33:31

+0

似乎完全不會調用保存視圖:|所以問題是在調用視圖 – 2013-04-29 07:03:28

回答

0

你的方法從

public String save(...) 

改變

public void save(...) 

或作爲替代(既然你save方法是POST動作),你可能要實現的PostRedirectGet paradigm

public String save(...){ 
    // do whatever you want here 
    return "redirect:another view"; 
} 
+0

是固定的,它調用返回其他方法,而不是其他視圖。像這樣:return index(); – 2013-04-29 09:38:02

相關問題