📄 strutsbodytagsupport.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: StrutsBodyTagSupport.java
package org.apache.struts2.views.jsp;
import com.opensymphony.xwork2.util.ValueStack;
import java.io.PrintWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.struts2.util.FastByteArrayOutputStream;
import org.apache.struts2.views.util.ContextUtil;
// Referenced classes of package org.apache.struts2.views.jsp:
// TagUtils
public class StrutsBodyTagSupport extends BodyTagSupport
{
private static final long serialVersionUID = 0xef52d0e8506c7401L;
public StrutsBodyTagSupport()
{
}
public void setId(String string)
{
super.setId(string);
}
protected boolean altSyntax()
{
return ContextUtil.isUseAltSyntax(getStack().getContext());
}
protected ValueStack getStack()
{
return TagUtils.getStack(pageContext);
}
protected String findString(String expr)
{
return (String)findValue(expr, java/lang/String);
}
protected Object findValue(String expr)
{
if (altSyntax() && expr.startsWith("%{") && expr.endsWith("}"))
expr = expr.substring(2, expr.length() - 1);
return getStack().findValue(expr);
}
protected Object findValue(String expr, Class toType)
{
if (altSyntax() && toType == java/lang/String)
return translateVariables(expr, getStack());
if (altSyntax() && expr.startsWith("%{") && expr.endsWith("}"))
expr = expr.substring(2, expr.length() - 1);
return getStack().findValue(expr, toType);
}
protected String toString(Throwable t)
{
FastByteArrayOutputStream bout = new FastByteArrayOutputStream();
PrintWriter wrt = new PrintWriter(bout);
t.printStackTrace(wrt);
wrt.close();
return bout.toString();
}
protected String getBody()
{
if (bodyContent == null)
return "";
else
return bodyContent.getString().trim();
}
public static String translateVariables(String expression, ValueStack stack)
{
do
{
int x = expression.indexOf("%{");
int y = expression.indexOf("}", x);
if (x != -1 && y != -1)
{
String var = expression.substring(x + 2, y);
Object o = stack.findValue(var, java/lang/String);
if (o != null)
expression = (new StringBuilder()).append(expression.substring(0, x)).append(o).append(expression.substring(y + 1)).toString();
else
expression = (new StringBuilder()).append(expression.substring(0, x)).append(expression.substring(y + 1)).toString();
} else
{
return expression;
}
} while (true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -