本人项目赶的紧!就使用了EL表达式!从此少了导相关包的麻烦了!在界面就可看出用el表达的东西了!大大的加快了开发速度!
但是,有时却不得不要使用java代码表达一下东西!费了半天劲!突然想到用BeanUtils
,费话不说了,代码如下!
import javax.servlet.jsp.PageContext;
import org.apache.commons.beanutils.BeanUtils;
public class Select
{
private PageContext pageContext;
public String get(String name)
{
String value="";
String[] array =name.split("\\.");
int len=array.length;
Object form=null;
if(len==1)
return (String)pageContext.findAttribute(name);
else
form=pageContext.findAttribute(array[0]);
Out.out(form);
if(form==null)
return "";
String property=null;
if(len==2)
property=array[1];
if(len>2)
{
property=array[1];
for(int i=2;i<len;i++)
{
property=property+"."+array[i];
}
}
try {
value=BeanUtils.getProperty(form, property);
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
public PageContext getPageContext()
{
return pageContext;
}
public void setPageContext(PageContext pageContext)
{
this.pageContext = pageContext;
}
}
使用示例:
<jsp:useBean id="sel" scope="page" class="com.xx.common.Select"/>
<%sel.setPageContext(pageContext);%>
<%String dm=sel.get("jgdm")%>
和EL一样他从是pageContext查找值的!也就是从page,request,session application查找的!
其易用性和功能方面与EL差不多!Ha,ha!
但是,有时却不得不要使用java代码表达一下东西!费了半天劲!突然想到用BeanUtils
,费话不说了,代码如下!
import javax.servlet.jsp.PageContext;
import org.apache.commons.beanutils.BeanUtils;
public class Select
{
private PageContext pageContext;
public String get(String name)
{
String value="";
String[] array =name.split("\\.");
int len=array.length;
Object form=null;
if(len==1)
return (String)pageContext.findAttribute(name);
else
form=pageContext.findAttribute(array[0]);
Out.out(form);
if(form==null)
return "";
String property=null;
if(len==2)
property=array[1];
if(len>2)
{
property=array[1];
for(int i=2;i<len;i++)
{
property=property+"."+array[i];
}
}
try {
value=BeanUtils.getProperty(form, property);
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
public PageContext getPageContext()
{
return pageContext;
}
public void setPageContext(PageContext pageContext)
{
this.pageContext = pageContext;
}
}
使用示例:
<jsp:useBean id="sel" scope="page" class="com.xx.common.Select"/>
<%sel.setPageContext(pageContext);%>
<%String dm=sel.get("jgdm")%>
和EL一样他从是pageContext查找值的!也就是从page,request,session application查找的!
其易用性和功能方面与EL差不多!Ha,ha!