Struts

Struts Resource Bundle Example:How do you get a Struts2 value from the .properties file programatically? 
 
Create a resources folder under src.
    In the struts.xml file add a constant
    e.g., <constant name="struts.custom.i18n.resources" value="global"></constant>
    Here global is the name of properties file.
    Now you will be able to use the properties in the entire application.


    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
        <!-- constant to define result path locations to project root directory -->

        <!-- constant to define global resource bundle -->
        <constant name="struts.custom.i18n.resources" value="global"></constant>

        <package name="user" namespace="/" extends="struts-default">
            <action name="home">
                <result>/home.jsp</result>
            </action>
            <action name="welcome" class="com.waqar.struts2.actions.WelcomeAction">
                <result name="success">/welcome.jsp</result>
            </action>
        </package>

    </struts>

    The welcome.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title><s:property value="getText('action.welcome.title')"/></title>
    </head>
    <body>
             <s:property value="getText('action.welcome.username')"/>: <s:property value="username"/><br>
    </body>
    </html>


    global.properties
    action.welcome.username=waqar


In action class
system.out.println(getText("action.welcome.username"));

No comments:

Post a Comment