可以声明一个
plug-in
。在
plug-in
中声明常量并将其保存在
ServletContext
中
举例如下:
Constants.java:
package
com.yourcompany.struts.constants;
import
java.util.HashMap;
import
java.util.Map;
public
class
Constants {
public
Map
globalConstants
;
public
Constants(){
globalConstants
=
new
HashMap();
globalConstants
.put(
"userName"
,
"Rolia"
);
globalConstants
.put(
"path"
,
new
java.util.Date());
}
public
Map getGlobalConstants() {
return
globalConstants
;
}
public
void
setGlobalConstants(Map globalConstants) {
this
.
globalConstants
= globalConstants;
}
}
ConstantsPlugin.java:
package
com.yourcompany.struts.constants;
import
javax.servlet.ServletException;
import
org.apache.struts.action.ActionServlet;
import
org.apache.struts.action.PlugIn;
import
org.apache.struts.config.ModuleConfig;
public
class
ConstantsPlugin
implements
PlugIn{
public
void
destroy() {
}
public
void
init(ActionServlet servlet, ModuleConfig config)
throws
ServletException {
Constants constants =
new
Constants();
servlet.getServletContext().setAttribute(
"Constants"
, constants);
}
}
struts-config.xml:
<
plug-in
className
=
"com.yourcompany.struts.constants.ConstantsPlugin"
/>
show.jsp:
<
bean:write
name
=
"Constants"
property
=
"globalConstants.userName"
/>
<
br
>