我有一个教师豆,其中包含他们希望如何看待学生的名称格式。名称。我使用EL访问字符串,如下所示。老师已经参与了请求。
<c:out value="${requestScope.teacher.nameFormat}"/>
名称格式的值是表达式语言,如下所示。
1. ${student.lastName}, ${student.firstName}
2. ${student.lastName}, ${student.firstName.substring(0,1)}
我希望使用教师选择的名称格式显示学生姓名。
1. Doe, John
2. Doe, J.
但我现在得到的结果就是名称格式本身。
1. ${student.lastName}, ${student.firstName}
2. ${student.lastName}, ${student.firstName.substring(0,1)}
答案 0 :(得分:1)
在您的域内创建一个方法
class Person{
public String getPrettyName(){
//operate and return
}
}
和JSTL
<c:out value="${requestScope.teacher.prettyName}"/>
或
${requestScope.teacher.lastName}, ${fn:substring(requestScope.teacher.firstName, 0, 1)}
答案 1 :(得分:0)
无需使用fn:
,所有与String相关的方法都可以直接使用,如下所示:
使用:
<c:out value="${requestScope.teacher.lastName}"/>
<c:out value="${requestScope.teacher.firstName.substring(0,1)}"/>
它应该工作。此外,如果您要保留requestScope,它将查找特定值以仅在该特定范围内评估EL。因此,请确保您的老师在请求范围内可用。