2013-04-25 48 views
8

私はspring mvcコントローラを使用しています。内部のコントローラ私はいくつかの値を入れているモデル内の文字列を言うことができます。今、私はその値を取得したい、またはジャバスクリプトの中でその値を印刷するだけです。どうすればいいのですか? ここに私のコントローラクラスがあります。私はキーとして "映画"を追加しています。 (未JSPの内側しかしJavaScriptの内側):javascriptの中でspring mvc controller modelのキー値を取得するには?

var movie_name = "${movie}"; 

今私はJavaスクリプト内の映画の名前を表示したい

@Controller 
@RequestMapping("/movie") 
public class MovieController { 

    @RequestMapping(value="/{name}", method = RequestMethod.GET) 
    public String getMovie(@PathVariable String name, ModelMap model) { 

     model.addAttribute("movie", name); 
     return "list"; 

    } 

} 

ここでは私のJSP

<html> 
<head> 
//I want to print movie name inside java script not inside jSP body tag. 
<script type="text/javascript"> 
var movie_name = ${movie}; 
alert("movies name"+ movie_name); 
</script> 
</head> 
<body> 
    <h3>Movie Name : ${movie}</h3>//When i print here its working fine. 
</body> 
</html> 

答えて

17

はこれを使用しています代わりに:

var movie_name = ${movie}; 

${movie}を使用すると、値は引用符なしでページに配置されます。私はそれが文字列だと推測しているので、Javascriptでは文字列を引用符で囲む必要があります。

ブラウザのコンソールを確認した場合は、おそらくUnexpected identifierまたは___ is not definedのようなエラーが表示されます。

+1

としてモデルオブジェクトのプロパティを取得。ありがとうランタンは応援します! –

+0

Lan私はmodel.addAttribute( "ログイン"、新しいログイン( "uname"、 "パス"));マップ内にいくつかのオブジェクトがあり、私はそのオブジェクトの1つの属性をjavascript内に出力したい。オブジェクトはログインクラスのものと同様に、属性としてユーザー名とパスワードを持っています。今私はjavascriptの中でちょうどユーザー名を印刷したい。どうすればいいのですか?たとえば、var login = "$ {SomeOject}";警告(login.uname); ??ログインクラスの個別の値を取得するにはどうすればよいですか? –

+0

@DheerajVarne 'SomeObject'とは何ですか? 'オブジェクト'?あなたのJSPでは '$ {movie.attribute}'を使うことができますが、SomeObjectがどのように定義されているかによって異なります。 – Ian

1

あなたは、モデルにオブジェクトを追加した場合は...

これを試してみてください:

model.addAttribute("someObject", new Login("uname","pass")) 

次にあなたが厥のスポット

var user_name = ${someObject.uname}; // This is assuming that the Login class has getter as getUname(); 
var user_pass = ${someObject.pass}; 
関連する問題