Spring MVC返回@ResponseBody内容

时间:2017-11-18 19:22:01

标签: spring model-view-controller model return autowired

我是Java和Spring MVC的新手,所以如果(当)这个问题应该是显而易见的话,请提前道歉。我有一个简单的程序,它应该使用Spring MVC和JPA来存储一些消息,然后在用户打开localhost:8080时在网站上显示这些消息。一些代码来自我正在参加的MOOC课程,其中一些是我修改过的。

我有4个文件HelloMessage.java,HelloMessageRepository.java,HelloWebWithDatabaseApplication.java和HelloWebWithDatabaseController.java。下面粘贴了文件的内容(我省略了包导入)。

HelloMessage.java包含以下内容:

@Entity
public class HelloMessage extends AbstractPersistable<Long> {

    private String content;

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}

HelloMessageRepository.java包含以下内容:

import org.springframework.data.jpa.repository.JpaRepository;

public interface HelloMessageRepository extends JpaRepository<HelloMessage, Long> {

}

HelloWebWithDatabaseApplication.java包含:

package sec.helloweb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloWebWithDatabaseApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(HelloWebWithDatabaseApplication.class, args);
    }
}

最后一个文件HelloWebWithDatabaseController.java包含:

@Controller
public class HelloWebWithDatabaseController {

    @Autowired
    private HelloMessageRepository helloMessageRepository;

    @PostConstruct
    public void init() {
        // test data to the application
        HelloMessage msg = new HelloMessage();
        msg.setContent("Hello");
        helloMessageRepository.save(msg);

        HelloMessage msg2 = new HelloMessage();
        msg2.setContent("Web");
        helloMessageRepository.save(msg2);
    }

    @RequestMapping(value = "/", method = RequestMethod.GET)
    @ResponseBody
    public String list(Model model) {
        model.addAttribute("content", helloMessageRepository.findAll());
        return "content";
    }
}

当我在Netbeans上运行项目并检查页面时,它会显示文本“content”。我想打印出存储在helloMessageRepository中的消息,但我不确定如何使用@ResponseBody来做到这一点。如果我删除它并创建一个content.html页面它可以工作,但我怎么才能将消息打印为文本?

0 个答案:

没有答案