表达式语言格式:${表达式}
如果要跳转是一个元素:
ELServletDemo01.java
package cn.mldn.lxh.servlet.el ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class ELServletDemo01 extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
req.setAttribute("name","www.MLDN.cn") ;
// 服务器端跳转
req.getRequestDispatcher("eldemo03.jsp").forward(req,resp) ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
this.doGet(req,resp) ;
}
};
/*
<servlet>
<servlet-name>el01</servlet-name>
<servlet-class>cn.mldn.lxh.servlet.el.ELServletDemo01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>el01</servlet-name>
<url-pattern>/eldemo/el_1</url-pattern>
</servlet-mapping>
*/
========================================
eldemo03.jsp
<h1>${name}</h1>
不用表达式则需要如下代码才能取得
<%
if(pageContext.getAttribute("name")!=null)
{
%>
<%=pageContext.getAttribute("name")%>
<%
}
%>
很明显这样代码很多。
=-======================================================
如果要跳转是一个对象:
如下;
Simple.java
package cn.mldn.lxh.servlet.el ;
public class Simple
{
private String name ;
public void setName(String name)
{
this.name = name ;
}
public String getName()
{
return this.name ;
}
};
ELServletDemo02.java
package cn.mldn.lxh.servlet.el ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class ELServletDemo02 extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
Simple s = new Simple() ;
s.setName("LiXingHua") ;
req.setAttribute("sim",s) ;
// 服务器端跳转
req.getRequestDispatcher("eldemo04.jsp").forward(req,resp) ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
this.doGet(req,resp) ;
}
};
/*
<servlet>
<servlet-name>el02</servlet-name>
<servlet-class>cn.mldn.lxh.servlet.el.ELServletDemo02</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>el02</servlet-name>
<url-pattern>/eldemo/el_2</url-pattern>
</servlet-mapping>
*/
eldemo04.jsp
<h1>${sim.name}</h1>
==========================================================
如果类中还有对象
如下:
NameBean.java
package cn.mldn.lxh.servlet.el ;
public class NameBean
{
private String firstName ;
private String lastName ;
public void setFirstName(String firstName)
{
this.firstName = firstName ;
}
public void setLastName(String lastName)
{
this.lastName = lastName ;
}
public String getFirstName()
{
return this.firstName ;
}
public String getLastName()
{
return this.lastName ;
}
};
======================================
CompanyBean.java
package cn.mldn.lxh.servlet.el ;
public class CompanyBean
{
private String companyName ;
private String business ;
public void setCompanyName(String companyName)
{
this.companyName = companyName ;
}
public void setBusiness(String business)
{
this.business = business ;
}
public String getCompanyName()
{
return this.companyName ;
}
public String getBusiness()
{
return this.business ;
}
};
================================================
EmployeeBean.java
package cn.mldn.lxh.servlet.el ;
public class EmployeeBean
{
private NameBean name ;
private CompanyBean company ;
public void setName(NameBean name)
{
this.name = name ;
}
public void setCompany(CompanyBean company)
{
this.company = company ;
}
public NameBean getName()
{
return this.name ;
}
public CompanyBean getCompany()
{
return this.company ;
}
};
=======================================
ELServletDemo03.java
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class ELServletDemo03 extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
NameBean nb = new NameBean() ;
nb.setFirstName("Li") ;
nb.setLastName("XingHua") ;
CompanyBean cb = new CompanyBean() ;
cb.setCompanyName("www.MLDN.cn") ;
cb.setBusiness("JAVA EE、JAVA SE、JAVA ME") ;
EmployeeBean eb = new EmployeeBean() ;
eb.setName(nb) ;
eb.setCompany(cb) ;
// 保存属性
req.setAttribute("emp",eb) ;
// 服务器端跳转
req.getRequestDispatcher("eldemo05.jsp").forward(req,resp) ;
}
public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
{
this.doGet(req,resp) ;
}
};
/*
<servlet>
<servlet-name>el03</servlet-name>
<servlet-class>cn.mldn.lxh.servlet.el.ELServletDemo03</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>el03</servlet-name>
<url-pattern>/eldemo/el_3</url-pattern>
</servlet-mapping>
*/
========================================
eldemo05.jsp
<h1>FirstName:${emp.name.firstName}</h1>
<h1>LastName:${emp.name.lastName}</h1>
<h1>CompanyName:${emp.company.companyName}</h1>
<h1>Business:${emp.company.business}</h1>