`
fly1206
  • 浏览: 55857 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日系框架之seasar2(S2JSF)---(下)

阅读更多

 jsf.dicon

<?xmlversion="1.0"encoding="Shift_JIS"?>
<!DOCTYPEcomponentsPUBLIC"-//SEASAR//DTDS2Container2.4//EN"
  "http://www.seasar.org/dtd/components24.dtd">
<componentsnamespace="jsf">
  <includepath="jsfErrorPage.dicon"/>
  <componentclass="org.seasar.jsf.runtime.CompositeTaglibManager">
    <initMethodname="addTaglibManager">
      <arg>
        <componentclass="org.seasar.jsf.runtime.FileSystemTaglibManagerImpl">
          <initMethodname="init"/>
          <destroyMethodname="destroy"/>
        </component>
      </arg>
    </initMethod>
    <initMethodname="addTaglibManager">
      <arg>
        <componentclass="org.seasar.jsf.runtime.ServletContextTaglibManagerImpl">
          <initMethodname="init"/>
          <destroyMethodname="destroy"/>
        </component>
      </arg>
    </initMethod>
  </component>
  <componentclass="org.seasar.jsf.runtime.JsfConfigImpl">
    <initMethodname="addTaglibUri">
      <arg>"h"</arg>
      <arg>"http://java.sun.com/jsf/html"</arg>
    </initMethod>
    <initMethodname="addTaglibUri">
      <arg>"f"</arg>
      <arg>"http://java.sun.com/jsf/core"</arg>
    </initMethod>
    <initMethodname="addTaglibUri">
      <arg>"s"</arg>
      <arg>"http://www.seasar.org/jsf"</arg>
    </initMethod>
    <initMethodname="addTaglibUri">
      <arg>"x"</arg>
      <arg>"http://myfaces.apache.org/tomahawk"</arg>
    </initMethod>  
    <initMethodname="addTaglibUri">
      <arg>"hello"</arg>
      <arg>"http://examples.jsf/taglib"</arg>
    </initMethod>  
    <initMethodname="addTaglibUri">
      <arg>"r"</arg>
      <arg>"http://examples.jsf.hoge/taglib"</arg>
    </initMethod>  
  </component>
  <componentclass="org.seasar.jsf.runtime.TagPoolImpl"/>
  <componentclass="org.seasar.jsf.runtime.TagProcessorTreeFactoryImpl">
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.PassThroughElementSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.SelectManyCheckboxSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.SelectOneRadioSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.SelectItemSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InsertSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.ValidatorSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InjectSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.MetaContentTypeSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.HtmlSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.OutputTextSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.TitleSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.OutputLinkSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.CommandButtonSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.CommandLinkSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.FormSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.BaseSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InputTextSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InputHiddenSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InputSecretSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InputTextareaSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.SelectBooleanCheckboxSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.SelectOneMenuSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.InputRadioSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.SelectManyListboxSelector"/>
      </arg>
    </initMethod>
    <initMethodname="addTagSelector">
      <arg>
        <componentclass="org.seasar.jsf.selector.ElementSelector"/>
      </arg>
    </initMethod>
  </component>
  <componentclass="org.seasar.jsf.runtime.ViewTemplateFactoryImpl"/>
  <componentclass="org.seasar.jsf.runtime.ViewRendererImpl"/>
  <component
    name="webappConfigManager"
    class="org.seasar.jsf.webapp.ServletContextWebappConfigManagerImpl">
    <initMethodname="init"/>
  </component>
</components>

 

 

 jsfErrorPage.dicon

<?xmlversion="1.0"encoding="Shift_JIS"?>
<!DOCTYPEcomponentsPUBLIC"-//SEASAR//DTDS2Container2.4//EN"
  "http://www.seasar.org/dtd/components24.dtd">
<componentsnamespace="jsfErrorPage">
  <componentclass="org.seasar.jsf.runtime.ErrorPageManagerImpl">
    <initMethodname="addErrorPage">
      <arg>@org.seasar.framework.exception.SQLRuntimeException@class</arg>
      <arg>"/errorpage/errorPageHsqldb.html"</arg>
    </initMethod>
    <initMethodname="addErrorPart">
      <arg>@org.seasar.framework.exception.SQLRuntimeException@class</arg>
      <arg>"/insert/errorPageHsqldb.html"</arg>
    </initMethod>
  </component>
</components>

  log4j.properties

log4j.category.org.seasar=DEBUG,C
log4j.additivity.org.seasar=false
log4j.category.examples=DEBUG,C
log4j.additivity.examples=false
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.out
log4j.appender.C.ImmediateFlush=true
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%-5p%d[%t]%m%n
log4j.rootLogger=INFO,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d[%t]%-5p%c-%m%n
#myfaceslogger
log4j.logger.org.apache.myfaces=INFO
log4j.logger.org.apache.myfaces.config=INFO
log4j.logger.org.apache.myfaces.application=INFO
log4j.logger.org.apache.myfaces.application.jsp=INFO
log4j.logger.org.apache.myfaces.lifecycle=INFO
log4j.logger.org.apache.myfaces.taglib=INFO
log4j.logger.org.apache.myfaces.util.DebugUtils=INFO
log4j.logger.org.apache.myfaces.renderkit.html.HtmlResponseWriterImpl=WARN
log4j.logger.org.apache.myfaces.renderkit.html.HtmlRenderKitImpl=WAR

 

 

 

teedaCustomize.dicon

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEcomponentsPUBLIC"-//SEASAR//DTDS2Container2.4//EN"
  "http://www.seasar.org/dtd/components24.dtd">
<components>
  <componentclass="org.seasar.teeda.core.render.DefaultComponentIdLookupStrategy"/>
  <componentclass="org.seasar.teeda.core.application.impl.DefaultComponentLookupStrategy"/>
</components>

  teedaErrorPage.dicon

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEcomponentsPUBLIC"-//SEASAR//DTDS2Container2.4//EN"
  "http://www.seasar.org/dtd/components24.dtd">
<componentsnamespace="teedaErrorPage">
  <componentclass="org.seasar.teeda.core.util.ServletErrorPageManagerImpl"/>
</components>

  addadd.html

<htmlxmlns:m="http://www.seasar.org/maya"m:extends="/WEB-INF/layout/layout.html">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j"/>
<title>Add</title>
</head>
<body>
<spanm:inject="f:param"m:name="layoutTitle"m:value="Add"/>
<spanm:inject="s:insert"m:name="body">
<form>
<spanm:inject="h:messages"m:globalOnly="false"m:showDetail="true"/>
<inputtype="text"m:value="#{addDto.arg1}"/>+ 
<inputtype="text"m:value="#{addDto.arg2}"/>= 
<spanm:value="#{addDto.result}"/>
<inputtype="submit"value="calculate"m:action="#{addAction.calculate}"/>
</form>
</span>
</body>
</html>

 

 

hellohello.html

<htmlxmlns:m="http://www.seasar.org/maya"m:extends="/WEB-INF/layout/layout.html">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j"/>
<title>Hello</title>
</head>
<body>
<spanm:inject="f:param"m:name="layoutTitle"m:value="Hello"/>
<spanm:inject="s:insert"m:name="body">
Hello<spanm:value="#{helloDto.name}">hoge</span>
<formaction="hoge"m:passthrough="true"></form>
</span>
</body>
</html>

  WEB-INFlayoutcsslayout.html

<htmlxmlns:m="http://www.seasar.org/maya">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j"/>
<linkrel="stylesheet"type="text/css"href="css/global.css"/>
<titlem:value="#{layoutTitle}">S2JSFExample</title>
</head>
<body>
<divclass="menu">
  <spanm:inject="s:insert"m:src="/WEB-INF/layout/menu.html"/>
</div>
<divclass="level0">
  <divclass="level1">
    <divclass="header">
      <spanm:inject="s:insert"m:src="/WEB-INF/layout/header.html"/>
    </div>
    <divclass="body">
      <spanm:inject="s:insert"m:name="body"/>
    </div>
  </div>
</div>
</body>
</html>

 

 

 

WEB-INFlayoutfooter.html

<htmlxmlns:m="http://www.seasar.org/maya">
<body>
<spanm:inject="s:insert">
TheSeasarFoundation
</span>
</body>
</html>

  WEB-INFlayoutheader.html

<htmlxmlns:m="http://www.seasar.org/maya">
<body>
<spanm:inject="s:insert">
<imgm:inject="h:graphicImage"m:url="/images/seasar.gif"/>
</span>
</body>
</html>

  WEB-INFlayoutlayout.html

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<htmlxmlns:m="http://www.seasar.org/maya">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j"/>
<linkm:inject="s:link"rel="stylesheet"type="text/css"href="/css/global.css"/>
<titlem:value="#{layoutTitle}"/>
</head>
<body>
<tableborder="0"cellspacing="5">
<tr>
 <tdcolspan="2"><spanm:inject="s:insert"m:src="/WEB-INF/layout/header.html"/></td>
</tr>
<tr>
 <tdwidth="140"valign="top">
  <spanm:inject="s:insert"m:src="/WEB-INF/layout/menu.html"/>
 </td>
 <tdvalign="top"align="left">
  <spanm:inject="s:insert"m:name="body"/>
 </td>
</tr>
<tr>
 <tdcolspan="2">
  <hr/>
 </td>
</tr>
<tr>
 <tdcolspan="2">
  <spanm:inject="s:insert"m:src="/WEB-INF/layout/footer.html"/>
 </td>
</tr>
</table>
</body>
</html>

 

 

 WEB-INFlayoutmenu.html

<htmlxmlns:m="http://www.seasar.org/maya">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j"/>
<title>S2JSFExample</title>
</head>
<body>
<spanm:inject="s:insert">
<form>
<ul>
<li>
<am:action="hello">Hello</a>
</li>
<li>
<am:action="add">Add</a>
</li>
</ul>
</form>
</span>
</body>
</html>

  faces-config.xml

<?xmlversion="1.0"?>
<!DOCTYPEfaces-configPUBLIC
 "-//SunMicrosystems,Inc.//DTDJavaServerFacesConfig1.0//EN"
 "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
  <application>
    <message-bundle>appMessages</message-bundle>
    <locale-config>
      <default-locale>en</default-locale>
      <supported-locale>ja</supported-locale>
    </locale-config>
  </application>
  <converter>
    <converter-for-class>java.util.Date</converter-for-class>
    <converter-class>org.seasar.jsf.convert.S2DateTimeConverter</converter-class>
  </converter>
  <navigation-rule>
    <navigation-case>
      <from-outcome>hello</from-outcome>
      <to-view-id>/hello/hello.html</to-view-id>
    </navigation-case>
  </navigation-rule>
  <navigation-rule>
    <navigation-case>
      <from-outcome>add</from-outcome>
      <to-view-id>/add/add.html</to-view-id>
      <redirect/>
    </navigation-case>
  </navigation-rule>
  <lifecycle>
    <phase-listener>org.seasar.teeda.core.event.PhaseChangeTracer</phase-listener>
  </lifecycle>
</faces-config>

 

 

 web.xml

<?xmlversion="1.0"?>
<!DOCTYPEweb-appPUBLIC
 "-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    <description>
      Statesavingmethod:"client"or"server"(=default)
      SeeJSFSpecification2.5.2
    </description>
  </context-param>
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.html</param-value>
  </context-param>
  <!--ExtensionsFilter-->
  <filter>
    <filter-name>extensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
    <init-param>
      <param-name>uploadMaxFileSize</param-name>
      <param-value>100m</param-value>
      <description>Setthesizelimitforuploadedfiles.
        Format:10-10bytes
            10k-10KB
            10m-10MB
            1g-1GB
      </description>
    </init-param>
    <init-param>
      <param-name>uploadThresholdSize</param-name>
      <param-value>100k</param-value>
      <description>Setthethresholdsize-files
          belowthislimitarestoredinmemory,filesabove
          thislimitarestoredondisk.
        Format:10-10bytes
            10k-10KB
            10m-10MB
            1g-1GB
      </description>
    </init-param>
      <init-param>
      <param-name>uploadRepositoryPath</param-name>
      <param-value>/temp</param-value>
      <description>Setthepathwheretheintermediaryfileswillbestored.
      </description>
    </init-param>
  </filter>
  <filter>
    <filter-name>s2filter</filter-name>
    <filter-class>org.seasar.framework.container.filter.S2ContainerFilter</filter-class>
  </filter>
  <filter>
    <filter-name>encodingfilter</filter-name>
    <filter-class>org.seasar.extension.filter.EncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>Windows-31j</param-value>
    </init-param>
  </filter>
  <filter>
    <filter-name>requestDumpFilter</filter-name>
    <filter-class>examples.jsf.util.RequestDumpFilter</filter-class>
  </filter>
  <!--ExtensionsFilter-->
  <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>*.html</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>s2filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>encodingfilter</filter-name>
    <url-pattern>*.html</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>requestDumpFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <listener>
    <listener-class>org.seasar.teeda.core.webapp.TeedaConfigureListener</listener-class>
  </listener>
  <!--facesServlet-->
  <servlet>
    <servlet-name>facesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>s2servlet</servlet-name>
    <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>facesServlet</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>s2servlet</servlet-name>
    <url-pattern>/s2servlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>

 

 

 

index.html

<htmlxmlns:m="http://www.seasar.org/maya"m:extends="/WEB-INF/layout/layout.html">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j"/>
<title>S2JSFExample</title>
</head>
<body>
<spanm:inject="f:param"m:name="layoutTitle"m:value="Home"/>
<spanm:inject="s:insert"m:name="body">
<h1>WelcometoS2JSFExample</h1>
</span>
</body>
</html>

  以上代码是从S2JSF自带的sample中抽出来的,更多用法还请下载S2JSF。

  http://s2jsf.seasar.org/ja/

  上例中使用的lib库均为S2JSF自带的sample中取得,列表如下:

aopalliance-1.0.jar
commons-beanutils-1.6.1.jar
commons-collections-3.1.jar
commons-el-1.0.jar
commons-fileupload-1.0.jar
commons-lang-2.1.jar
commons-logging-1.1.jar
geronimo-jsp_2.0_spec-1.0.jar
geronimo-jta_1.1_spec-1.0.jar
hsqldb-1.8.0.1.jar
javassist-3.4.ga.jar
jstl-1.1.2.jar
log4j-1.2.13.jar
nekohtml-0.9.3-nirvana.jar
ognl-2.6.7.jar
poi-2.5.1-final-20040804.jar
s2-dao-1.0.43.jar
s2-extension-2.4.13-sources.jar
s2-extension-2.4.13.jar
s2-framework-2.4.13-sources.jar
s2-framework-2.4.13.jar
s2-jsf-1.1.2-sources.jar
s2-jsf-1.1.2.jar
teeda-core-1.0.7-sources.jar
teeda-core-1.0.7.jar
teeda-extension-1.0.7.jar
tomahawk-1.1.1.jar
xercesImpl-2.6.2-sources.jar
xercesImpl-2.6.2.jar

分享到:
评论

相关推荐

    seasar框架S2Dao使用指南

    seasar2框架中S2Dao使用指南,轻松掌握S2Dao 访问Oracle数据库的用法,与技巧

    一个日系seasar框架Demo:S2Containor+S2Dao+SAStruts+mayaa

    当前日本流行的开发框架,官方网站:http://www.seasar.org/我上传的这个是已经把各个框架集成好的,可以直接在上面进行开发。如有需要的话还可以加上DBFlute

    s2-dao-1.0.50.zip

    s2-dao-1.0.50.zip seasar框架的讲解s2-dao

    seasar2中文文档

    seasar2文档内容 快速上手 最初的一步 更进一步 S2Container指南 需要作成的文件 S2Container的定义 S2Container的生成 SingletonS2ContainerFactory的使用 S2ContainerFactory的使用 组件的取得 ...

    小日本的开源框架 Seasar2

    小日本的开源框架 Seasar2 所 谓“Seasar2”就是一个“轻量级容器”,面向无法摆脱“Java 应用开发”之烦恼的所谓“开发者”,它能够保证开发的“高生产率和高品质”。并且同“其它轻量级容器”不同的是,“完全不...

    seasar s2dao

    seasar s2dao

    s2-dao-1.0.49.zip

    无须用XML定义映射及实装代码的O/R Mapping 软件框架

    S2Tiger-2.3.23.zip

    DI Container with AOP

    Seasar2其实就是类似于Spring的一个开源框架

    所谓“Seasar2”就是一个“轻量级容器”,面向无法摆脱“Java 应用开发”之烦恼的所谓“开发者”,它能够保证开发的“高生产率和高品质”。并且同“其它轻量级容器”不同的是,“完全不需要书写设定文件”,“就算是...

    基本Seasar2 Web工程项目源码

    Seasar2这个框架在日本十分的流行。Seasar2其实就是类似于spring的一个提供DI功能的开源框架,但比Sping轻量级。 并且同“其它轻量级容器”不同的是,“完全不需要书写设定文件”,“就算是应用程序发生改动也无需...

    Seasar2的英文介绍

    seasar2的英文介绍,主要介绍seasar框架。pdf格式。

    seasar2.PPT

    关于seasar2的PPT文件,经典!欢迎下载!

    s2hibernate

    s2hibernate需要的jar包,主要用于日系seasar框架。

    seasar2

    日本比较流行的框架 很不错的幻灯片

    seasar教程,java开发框架之一

    seasar教程,最流行的java开发框架之一,再过几年可能成为主流. struts与Spring与Hibernate的简化版本,国外很多大公司己经用了几年了,NEC,LG的软件开发都是用这个的。兄弟们快学吧

    S2Flex2-1.1.0

    支持在Flash播放器中用Flex调用S2Container组件的软件库

    seasar2构建工程

    seasar2,构建工程的pdf,讲解如何建工程。入门级资料。

    s2vali-0.6.0-bin.zip

    日本鬼子的mvc框架。MVC Framework inspired by seasar2

    seasar2 官方例子代码

    seasar2 官方例子代码。 学习通过的话;对于java的开发就大有帮助。

    seasar2.3

    seasar2.3之S2Backport175-2.3.22.zip

Global site tag (gtag.js) - Google Analytics