2011-12-22 15 views
1

可能な重複データを表示しません:
JSP: EL expression is not evaluatedSpring MVCのビューで

I私のコントローラに次のコードを持っています。

@RequestMapping(value = "/sum", method = RequestMethod.GET) 
public String sum(@RequestParam("input1") String value1, 
     @RequestParam("input2") String value2, ModelMap model) { 
    model.addAttribute(
      "msg", 
      Integer.toString(Integer.parseInt(value1) 
        + Integer.parseInt(value2))); 
    return "index"; 
} 

以下は、私の見解である:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<html> 
<body> 
<h2>Hello World!</h2> 
<h2>Movie Name : <c:out value="${msg}"></c:out></h2>  
</body> 
</html> 

しかし、私の出力は、私は間違っ

Hello World! 
Movie Name : ${msg} 

のですか?

+3

これまでいくつかの質問がありましたが、それらを検索することができます。 [ここにある](http://stackoverflow.com/questions/793983/jsp-el-expression-is-not-evaluated)、[これは別の](http://stackoverflow.com/questions/2168832/expression -language-in-jsp-not-working)、[これは別のものです](http://stackoverflow.com/questions/1721518/el-expressions-wont-executed-in-tomcat-5-5-but-working -in-tomcat-6-0-20/1721665)。 –

+1

あなたはSpringが型変換を行うことができ、手動型変換を避けてメソッドのパラメータを 'Integer'にすることができますか? –

+0

この回答:http://stackoverflow.com/questions/1529184/jsps-not-displaying-objects-from-model-in-spring役に立つかもしれません。 – Bill

答えて

1

これは、jstlライブラリが利用できないためです。 WEB-INF/libにコピーするか、直接Tomcat/libディレクトリにコピーしてTomcatを再起動してください。

0

あなたはあなたのJSP

にバインドビューの文字列「インデックス」が、あなたのモデルは/レスポンスビューに添付/ sendedではされていないので、$のMSGが見つからなかったが、この

@RequestMapping(value = "/sum", method = RequestMethod.GET) 
public ModelAndView sum(@RequestParam("input1") String value1, @RequestParam("input2") String value2, ModelMap model) { 
     model.addAttribute("msg", Integer.toString(Integer.parseInt(value1) + Integer.parseInt(value2))); 
     return new ModelAndView("index", model); 
} 
を試してみてください戻っています
+0

これは正しいとは思わない - レンダリングするビューを示す文字列を返すことができ、モデルのオブジェクトはまだ公開されている。 –

+0

この場合、ビューは単に何も印刷しません。 Springは 'String'を返すときに' model'を前方に持っているので、 'ModelAndView'を返すようにメソッドを変更する必要はありません。 –

関連する問題