/**
* Copyright 2008 biaoping.yin
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.frameworkset.common.tag;
import java.io.OutputStream;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspWriter;
import com.frameworkset.common.tag.pager.tags.PagerDataSet;
import com.frameworkset.util.ValueObjectUtil;
/**
* session对象的取值标签
*
* @author biaoping.yin
*/
public class Session extends BaseTag {
/**
* session中保存的变量名称
*/
private String name;
private String property;
private String defaultValue;
private String dateformat;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int doStartTag()
{
HttpServletRequest request = getHttpServletRequest();
HttpSession session = request.getSession(false) ;
Object value = null;
if (session != null && name != null )
{
try
{
JspWriter out = this.getJspWriter();
if(getProperty() == null)
{
value = session.getAttribute(name);
// if(value == null)
// {
//// out.print(defaultValue == null?"":defaultValue);
// }
// else
// out.print(value);
}
else
{
value = session.getAttribute(name);
if(value == null)
{
// out.print(defaultValue == null?"":defaultValue);
}
else
{
value = ValueObjectUtil.getValue(value,getProperty());
// if(propertyValue == null)
// out.print(defaultValue == null?"":defaultValue);
// else
// out.print(propertyValue);
}
}
String output = null;
if(value != null)
{
if(this.getDateformat() != null &&
!this.getDateformat().equals(""))
{
if(value instanceof Date)
{
try
{
value = PagerDataSet.formatDate(request,value, dateformat);
}
catch (Exception e)
{
// TODO: handle exception
}
}
}
output = value.toString();
}
else
output = "";
out.print(output);
return SKIP_BODY;
} catch (Exception e)
{
e.printStackTrace();
}
}
return SKIP_BODY;
}
/**
* Description:
* @return String
* @see com.frameworkset.common.tag.BaseTag#generateContent()
*/
public String generateContent() {
// TODO Auto-generated method stub
return null;
}
/**
* Description:
* @param output
* @see com.frameworkset.common.tag.BaseTag#write(java.io.OutputStream)
*/
public void write(OutputStream output) {
// TODO Auto-generated method stub
}
/**
* @return String
*/
public String getProperty() {
return property;
}
/**
* @param string
*/
public void setProperty(String string) {
property = string;
}
/**
* @return 缺省值
*/
public String getDefaultValue() {
return defaultValue;
}
/**
* @param string
*/
public void setDefaultValue(String string) {
defaultValue = string;
}
public String getDateformat()
{
return dateformat;
}
public void setDateformat(String dateformat)
{
this.dateformat = dateformat;
}
}