package org.itscool.weber.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

import org.itscool.weber.mapping.MessageMappings;

/**
 * Weberフレームワークのメッセージリソース(weber-messages.xml)から
 * 指定されたキーに紐づくメッセージを取得します<p>
 * 
 * メッセージリソースを有効にするためには、Weberフレームワークが起動している
 * ことが前提となります<p>
 * 
 * <table cellSpacing=0 cellPadding=0 border=1 >
 * <tr>
 *   <td>key</td>
 *   <td>
 *   メッセージリソースに定義されたKeyを指定します
 *   </td>
 * </tr>
 * </table>*/
public class ResourceTag extends TagSupport {
	private String key;
    
    public int doStartTag() throws JspException {
        try {
        	MessageMappings messages = MessageMappings.getInstance();
            String message = (String)messages.get(key);
            pageContext.getOut().print(message);
        } catch (Exception e) {
            throw new JspException(e.getMessage());
        }

        return SKIP_BODY;
    }

    public int doEndTag() {
        return EVAL_PAGE;
    }

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

}
