我是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页面它可以工作,但我怎么才能将消息打印为文本?