论坛首页 Java企业应用论坛

怎样使用代码得到bean:message 中的内容?

浏览 7692 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-06-12  
在struts中,如果使用 bean:message会显示出来资源文件中定义的内容,我的问题是,如果不是用标签,我希望用编程的方式得到资源内容,应该如果做? 我是用 pageContext和application似乎都不能得到 bean:message中的内容? 谁知道这个 bean:message 中的 key属性是存在内存的什麽地方了? 如果在jsp叶面用 pageContext得到 key对应的值? (不要问为什麽不用标签)
   发表时间:2005-06-15  
import javax.servlet.jsp.PageContext;

import org.apache.struts.taglib.TagUtils;

/**
 * @author Administrator
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class Message {
	private PageContext context=null;
	private static TagUtils util=TagUtils.getInstance();;

	public Message(PageContext context);{
		this.context=context;
	}
	/**
	 * 返回key 的值
	 * @param context
	 * @param key
	 * @return
	 */
	public static String getMessage(PageContext context,String key);{
		String value="";
		try{
			value=util.message(context,null,null,key);;
		}catch(Exception e);{
			return value;
		}
		return value;
	}
	public  String getMessage(String key);{
		String value="";
		try{
			value=util.message(context,null,null,key);;
		}catch(Exception e);{
			return value;
		}
		return value;
	}............

这段代码应看看就知道,我用Struts的国际化支持功能对公司的就系统国际化支持时写的,希望能有帮助
0 请登录后投票
   发表时间:2005-06-15  
多谢!我怎样使用 pageContext.setAttribute来改变这个key在内存中对应的值呢
0 请登录后投票
   发表时间:2005-06-15  
我的意思就是说使用类似这样的方法 pageContext.setAttribute(MSG_KEY,"new Value"); 在jsp就能改变它的值了,但是具体使用有点问题
0 请登录后投票
   发表时间:2005-06-16  
呵呵同问,
  怎样在jsp中如何编程获取<c:out value="${parent.child.name}">中${parent.child.name}的值,

  希望能把这个值赋给某一个变量,然后在jsplet中处理

 

  在jsp文件中试过
<%
  ...
  (...) parent=(...) request.getAttribute("parent")
  String name=parent.getChild().getName();

  ...
%>

  但是不行:(

   请问大家是怎么处理的?
0 请登录后投票
   发表时间:2005-06-16  
试了一下

<%
    Parent parent=(Parent)pageContext.getAttribute("parent");
    String name=parent.getChild().getName();
%>

居然可以了
0 请登录后投票
   发表时间:2005-06-17  
在struts里,如果动态修改了message property files 的内容,怎么样动态的reload这个文件啊?我尝试着用 在 action class 里面调用 servlet 的 init()方法,但还是不行,还是得在tomcat的manager里面把这个webapp 的context reload才能看到变化。
0 请登录后投票
   发表时间:2005-07-18  
ggking 写道
在struts里,如果动态修改了message property files 的内容,怎么样动态的reload这个文件啊?我尝试着用 在 action class 里面调用 servlet 的 init()方法,但还是不行,还是得在tomcat的manager里面把这个webapp 的context reload才能看到变化。



用init()应该是不行的了,因为servlet在容器初始化的时候只调用一次init()对servlet做初始化,以后就不会再调用了,除非重新启动容器,所以,呵呵,你还得重新想办法。
0 请登录后投票
   发表时间:2005-08-30  
message properties 文件里的内容在容器起动的时候就加载进内存了!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics