0

私はSpringを初めて使用し、SpringFrameworkを使用して基本的なWebアプリをセットアップしようとしていました。しかし、メッセージ変数がビューに渡されないという問題に直面しています。jspはメッセージを表示しません。

以下は私のコードです-

Controller.java

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller

public class HomeController {
        @RequestMapping(method=RequestMethod.GET, value="/")
    public String index(){
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        String message = new String("Hello Welcome - Please click to login");
        System.out.println(message);
        mav.addObject("message", message);
            return "index";
    }

index.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Login</title>
</head>
<body>
<c:url value="login" var="somevar" />
<h1>Click here to </h1> <a href= "${somevar}">${1+1}</a>  
 <c:out value="${message}"/>
</body>
</html>

評価はすべて正常に機能しますが、変数'messageの文字列は空になります。

私は何かが足りないのですか?任意のガイダンスをいただければ幸いです。

4

2 に答える 2

3

ページからモデルを取得する必要があります。以下のコードを試してください。

@Controller
public class UpdateController {

@RequestMapping(method=RequestMethod.GET, value="/")
public String index(Model model){
    String message = new String("Hello Welcome - Please click to login");
    System.out.println(message);
    model.addAttribute("message", message);
    return "index";
    }
}
于 2012-10-18T13:31:31.257 に答える
1

コントローラメソッドは、オブジェクトではなく、index()を返します。試す:StringModelAndView

public ModelAndView index(ModelAndView mav){
    mav.setViewName("index");
    String message = new String("Hello Welcome - Please click to login");
    System.out.println(message);
    mav.addObject("message", message);
    return mav;
}
于 2012-10-18T13:09:18.433 に答える