所以我有这个示例类:
public class SuperHero implements Serializable{
private String firstName, lastName;
private int age;
// getters, setter etc..
假设我在servletContext中有一个superHero属性。
@Override
public void contextInitialized(ServletContextEvent sce) {
final SuperHero superHero = new SuperHero("Koray", "Tugay", 31);
sce.getServletContext().setAttribute("superHero", superHero);
}
这在jsp文件中可以正常工作:
${superHero.firstName}
<br/>
${superHero.lastName}
<br/>
${superHero.age}
但在Servlet中我需要投射它:
final SuperHero superHero = (SuperHero) getServletContext().getAttribute("superHero");
那么谁真正在做魔术,JSP或{表达语言},它是如何工作的?