2

定義された値uploads.directoryを持つstruts.propertiesファイルがあるとします。プログラムでActioncontextからその値にアクセスするにはどうすればよいですか?

4

6 に答える 6

7

プロパティ値を返す getText("some.property.name") を使用できます

http://struts.apache.org/maven/struts2-core/apidocs/com/opensymphony/xwork2/ActionSupport.html

于 2009-05-06T02:27:14.147 に答える
3

ActionSupportオブジェクトを作成し、クラスgetText()のメソッドを使用します。ActionSupport

ActionSupport actionSupport = new ActionSupport();
actionSupport.getText("foo.bar");
于 2014-01-23T09:21:16.797 に答える
2

の下に resources フォルダーを作成しますsrcstruts.xmlファイルに定数を追加します。たとえば、global<constant name="struts.custom.i18n.resources" value="global"></constant> はプロパティ ファイルの名前です。これで、アプリケーション全体でプロパティを使用できるようになります。

<?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>

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>

グローバル プロパティ

action.welcome.username=waqar

アクションクラスで

System.out.println(getText("action.welcome.username"));
于 2014-07-08T06:39:46.163 に答える
0

例として、struts.properties以外のプロパティファイルApplicationResources.propertiesまたはmy.propertiesクラスパスにある必要があるプロパティファイルに値を配置する必要があります。struts.propertiesファイルは、たとえばstruts.i18n.encoding=UTF-8、またはstruts.devMode = falseなどのストラット固有のプロパティをロードするために使用されます。

カスタマイズしたメッセージのプロパティファイルを作成した後、struts.propertiesで行う必要があるのは、struts.propertiesファイルに次のプロパティを追加する必要があることです。

struts.custom.i18n.resources=ApplicationResources

複数のカスタムメッセージプロパティファイルがある場合は、たとえば次のようにカンマで区切って追加する必要があります。

struts.custom.i18n.resources=ApplicationResources,my

次に、アクションクラスで、次を使用してプロパティ値にアクセスできます。getText('propertyName')

于 2011-04-17T03:06:51.817 に答える
0

次のようにメッセージ リソース ファイルから値を取得できます。

public class MyAction extends ActionSupport {

   public String getUserDetails() {
      if("First Name".equals(getText("label.firstName"))) {
          System.out.println("In if block");
      }
   }
}

.propertiesまた、Java クラスまたは JSP ファイル内のファイルから値を取得する方法など、詳細情報を取得することもできます。JSP の場合:

<s:text name="label.firstName" />

<s:property value="getText('label.age')" />

詳細については、このリンクからアクセスできます: ここで情報を入手してください

于 2013-09-21T09:32:14.017 に答える
0

アクション クラスを格納するパッケージに my.properties ファイルまたは my_locale.propeties ファイルを配置する必要があります。

于 2010-08-25T12:41:08.230 に答える