1

JSPとSpring MVCでブラウザ画面に簡単なメッセージを表示しようとしていました。

<h2>#{message}</h2>

ただし、以下の例外がスローされました。

org.apache.jasper.JasperException: /Ekle/DomainEkle.jsp (line: 9, column: 6) #{...} is not allowed in template text
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:103)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:733)
org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1798)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

これはどのように発生し、どうすれば解決できますか?

4

2 に答える 2

5

使用する

  <h2>${message}</h2>

それ以外の

  <h2>#{message}</h2>

${...}JSP で使用される式言語です。詳細はこちらをご覧ください

#{...}JSF技術に関連する表現言語です。詳しくはこちらをご覧ください

于 2013-08-31T13:21:50.253 に答える
2

JSP で ModelAttribute を表示/印刷するには、${..}表記法を使用する必要があります。したがって、あなたの場合は使用する必要があります

<h2>${message}</h2>

代わりに、オブジェクト フィールドにアクセスする場合は、ドット表記を使用する必要があります。

例:

public Person {
     private String name;
     private String surname;

     public Person(String name, String surname) {
          this.name = name;
          this.surname = surname;
     }

     //getter and setter goes here

}

コントローラ クラス:

@Controller
public ExampleController {
    @RequestMapping("/test")
    public ModelAndView testObject() {

         Person p = new Person("Steven","Hawking");
         return new ModelAndView("test", "person", p);
    }
}

ページ内

<h2>${person.name} ${person.surname}</h2>

表示されます

スティーブン・ホーキング

于 2013-08-31T14:12:10.217 に答える