posts - 48, comments - 13, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          tapestry5中中文問題

          Posted on 2009-03-04 10:38 董銳 閱讀(898) 評論(1)  編輯  收藏
          <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <title>加上面這句才支持中文</title>
          </head>
          <body>
          加上面這句才支持中文
          </body>
          </html>


          /////////////////////////////////


          import java.io.IOException;

          import org.apache.tapestry5.*;
          import org.apache.tapestry5.ioc.MappedConfiguration;
          import org.apache.tapestry5.ioc.OrderedConfiguration;
          import org.apache.tapestry5.ioc.ServiceBinder;
          import org.apache.tapestry5.ioc.annotations.Local;
          import org.apache.tapestry5.services.Request;
          import org.apache.tapestry5.services.RequestFilter;
          import org.apache.tapestry5.services.RequestHandler;
          import org.apache.tapestry5.services.Response;
          import org.slf4j.Logger;

          /**
           * This module is automatically included as part of the Tapestry IoC Registry, it's a good place to
           * configure and extend Tapestry, or to place your own service definitions.
           */
          public class AppModule
          {
              public static void bind(ServiceBinder binder)
              {
                  // binder.bind(MyServiceInterface.class, MyServiceImpl.class);
                 
                  // Make bind() calls on the binder object to define most IoC services.
                  // Use service builder methods (example below) when the implementation
                  // is provided inline, or requires more initialization than simply
                  // invoking the constructor.
              }
             
             
              public static void contributeApplicationDefaults(
                      MappedConfiguration<String, String> configuration)
              {
                  // Contributions to ApplicationDefaults will override any contributions to
                  // FactoryDefaults (with the same key). Here we're restricting the supported
                  // locales to just "en" (English). As you add localised message catalogs and other assets,
                  // you can extend this list of locales (it's a comma separated series of locale names;
                  // the first locale name is the default when there's no reasonable match).
                 
                  configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en,zh_cn");

                  // The factory default is true but during the early stages of an application
                  // overriding to false is a good idea. In addition, this is often overridden
                  // on the command line as -Dtapestry.production-mode=false
                  configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
                 
                  configuration.add(SymbolConstants.COMPRESS_WHITESPACE, "false");
                  configuration.add(SymbolConstants.CHARSET, "UTF-8");//有了這句不知是不是可以不要用上面那句了,還沒試過
                  
              }
             

              /**
               * This is a service definition, the service will be named "TimingFilter". The interface,
               * RequestFilter, is used within the RequestHandler service pipeline, which is built from the
               * RequestHandler service configuration. Tapestry IoC is responsible for passing in an
               * appropriate Logger instance. Requests for static resources are handled at a higher level, so
               * this filter will only be invoked for Tapestry related requests.
               *
               * <p>
               * Service builder methods are useful when the implementation is inline as an inner class
               * (as here) or require some other kind of special initialization. In most cases,
               * use the static bind() method instead.
               *
               * <p>
               * If this method was named "build", then the service id would be taken from the
               * service interface and would be "RequestFilter".  Since Tapestry already defines
               * a service named "RequestFilter" we use an explicit service id that we can reference
               * inside the contribution method.
               */   
              public RequestFilter buildTimingFilter(final Logger log)
              {
                  return new RequestFilter()
                  {
                      public boolean service(Request request, Response response, RequestHandler handler)
                              throws IOException
                      {
                          long startTime = System.currentTimeMillis();

                          try
                          {
                              // The responsibility of a filter is to invoke the corresponding method
                              // in the handler. When you chain multiple filters together, each filter
                              // received a handler that is a bridge to the next filter.
                             
                              return handler.service(request, response);
                          }
                          finally
                          {
                              long elapsed = System.currentTimeMillis() - startTime;

                              log.info(String.format("Request time: %d ms", elapsed));
                          }
                      }
                  };
              }

              /**
               * This is a contribution to the RequestHandler service configuration. This is how we extend
               * Tapestry using the timing filter. A common use for this kind of filter is transaction
               * management or security. The @Local annotation selects the desired service by type, but only
               * from the same module.  Without @Local, there would be an error due to the other service(s)
               * that implement RequestFilter (defined in other modules).
               */
              public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration,
                      @Local
                      RequestFilter filter)
              {
                  // Each contribution to an ordered configuration has a name, When necessary, you may
                  // set constraints to precisely control the invocation order of the contributed filter
                  // within the pipeline.
                 
                  configuration.add("Timing", filter);
              }
          }


          評論

          # re: tapestry5中中文問題  回復  更多評論   

          2013-03-15 13:46 by suifeng
          tapetry5 中 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          經過測試上面這個語句是必須加的。。
          并且還不能在注釋中加中文 若加了 照樣報錯

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 泸定县| 泰安市| 松溪县| 涡阳县| 得荣县| 昌都县| 炉霍县| 丰顺县| 孟津县| 唐河县| 鱼台县| 阿尔山市| 西丰县| 马公市| 新余市| 秦皇岛市| 台山市| 宁武县| 简阳市| 金平| 神农架林区| 醴陵市| 长白| 通河县| 泰安市| 扎囊县| 麻栗坡县| 怀柔区| 苏州市| 齐河县| 遂溪县| 利川市| 榕江县| 河源市| 合山市| 景洪市| 临沂市| 方正县| 金阳县| 黄梅县| 敦煌市|