2011-08-10 3 views
2

コントローラ:ジャワ、春、Apacheのタイルのエラー:名前のサーブレットで名 '接触' '春' でビューを解決できませんでした

<tiles-definitions> 
    <definition name="base.definition" 
     template="/WEB-INF/jsp/layout.jsp"> 
     <put-attribute name="title" value="" /> 
     <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> 
     <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> 
    </definition> 

    <definition name="contact" extends="base.definition"> 
     <put-attribute name="title" value="Contact Manager" /> 
     <put-attribute name="body" value="/WEB-INF/jsp/contact.jsp" /> 
    </definition> 

:これは私のtiles.xmlある

@Controller 
@SessionAttributes 
public class ContactController { 

    @RequestMapping(value = "/addContact", method = RequestMethod.POST) 
    public String addContact(@ModelAttribute("contact") 
          Contact contact, BindingResult result) { 

     System.out.println("First Name:" + contact.getFirstName() + 
       "Last Name:" + contact.getLastName()); 

    return "redirect:contacts.html"; 
    } 

    @RequestMapping("/contact") 
    public ModelAndView showContacts() { 

     return new ModelAndView("contact", "command", new Contact()); 
    } 
} 

エラーは、このです:

org.apache.jasper.JasperException: javax.servlet.ServletException: Could not resolve view with name 'contact' in servlet with name 'spring' 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:584) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

は、任意のより多くのソースコード

のためにお気軽に

答えて

5

last questionには、UrlBasedViewリゾルバをpreとsuffixで使用したことが示されています。

そのプレフィックスと接尾辞を削除します。

はenogthする必要があること:ところで

<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" 
    id="tilesViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.tiles2.TilesView" /> 
</bean> 
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer" 
    id="tilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/layouts/layouts.xml</value> 
      <!-- Scan views directory for Tiles configurations --> 
      <value>/WEB-INF/views/**/views.xml</value> 
     </list> 
    </property> 
</bean> 

:このconfigruationは

  • /WEB-INF/layouts/layouts.xmlが含まれているタイルの設定ファイルの2 tzps(そこだけsermatic異なります)allowesすべて(通話をすることができますそれ) "塩基の定義"
  • /WEB-INF/views/**/views.xml cont - 基本定義を拡張する具体的な定義(例: "連絡先"定義) - 各フォルダごとに別々のview.xmlを持つことができます。これは、ビューをグループ化する場合に便利です。この機能が必要ない場合は、各エンティティのショーとリスト)は、separeteフォルダ

に、単にその行を削除します。

+0

驚くばかり!ありがとう、ええ、私はviewresolverのためにJSTLを使用していましたが、JSTLはそれらの接頭辞と接尾辞を持つ必要がありました..しかし、今このタイルの事を試して、それは働いた! – Jaanus

関連する問題