在Spring MVC中显示jsp输出中的简单类属性
我是Spring-MVC中的新成员,我试图显示正在分配给 模型的类属性。在Spring MVC中显示jsp输出中的简单类属性
我做一个简单的字符串如下:
model.addAttribute("user", "username");
而且它使用被显示为预期:
<P> The user is ${username}. </P>
但现在我有下面的类:
public class User {
private String name;
public User(){
this.setName("Unknown");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
而我试图在jsp输出中显示“名称”属性没有成功:
User myuser = new User();
myuser.setName("CARLOS");
model.addAttribute("user",myuser);
在JSP鉴于我使用:
<p>User name is ${user.Name}</p>
与也试过:
<c:out value="${$user.Name}"></c:out>
我怎样才能实现呢?
Java区分大小写。 name
与Name
不一样。
尝试<p>User name is ${user.name}</p>
。
<c:out value="${user.name}"></c:out>
也可以工作(圆括号内没有$
)。
请注意,使用<c:out>
转义所有HTML字符请参阅this answer。
我读过它是一个必须声明的getName方法或它崩溃。真的吗? –
如果'name'是'private'字段,那么是的,但为什么你不检查它?删除'getName()'看看会发生什么:) –
我已经试过了;)。它肯定崩溃。谢谢。 –
您已将该属性定义为名称。在这种情况下名字不会被找到。
public class User {
private String name;
public User(){
this.setName("Unknown");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
<p>User name is ${user.name}</p>
你在哪里尝试此节:
model.addAttribute("user", "username");
,并在那里你正在尝试这一个:
User myuser = new User();
myuser.setName("CARLOS");
model.addAttribute("user",myuser);
混乱..其确定
//在控制器的欢迎是请求参数您必须通过
@RequestMapping(value="/welcome", method = RequestMethod.GET)
public String welcome(ModelMap model) {
User myuser = new User();
myuser.setName("CARLOS");
model.addAttribute("user",myuser);
return "/*your jsp file*/";
}
在你的jsp文件中
<p>User name is ${user}</p>.
你得到了什么样的错误? –