- 浏览: 56938 次
- 性别:
- 来自: 北京
最新评论
-
wokeke:
写得真好!!支持!
Hibernate缓存配置/批量处理 -
fuanyu:
QuoteServerThread 是哪里来的???里面都看 ...
总结java socket编程 -
tinguo002:
呃 firefox 下拉框添加删除把我难住了咯
在这里看到 ...
关于select 添加 删除 option 的兼容性问题
j2ee.dicon
<?xmlversion="1.0"encoding="Shift_JIS"?>
<!DOCTYPEcomponentsPUBLIC"-//SEASAR//DTDS2Container//EN"
"http://www.seasar.org/dtd/components.dtd">
<componentsnamespace="j2ee">
<componentname="transactionManager"
class="org.seasar.extension.jta.TransactionManagerImpl"/>
<componentname="requiredTx"
class="org.seasar.extension.tx.RequiredInterceptor"/>
<componentname="requiresNewTx"
class="org.seasar.extension.tx.RequiresNewInterceptor"/>
<componentname="mandatoryTx"
class="org.seasar.extension.tx.MandatoryInterceptor"/>
<componentname="notSupportedTx"
class="org.seasar.extension.tx.NotSupportedInterceptor"/>
<componentclass="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
<componentclass="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
<!--
<componentclass="org.seasar.extension.jdbc.impl.OracleResultSetFactory"/>
<componentclass="org.seasar.extension.jdbc.impl.BooleanToIntStatementFactory"/>
-->
<!--
<componentname="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<propertyname="driverClassName">
"oracle.jdbc.driver.OracleDriver"
</property>
<propertyname="URL">
"jdbc:oracle:thin:@xxx:xxx:xxx"
</property>
<propertyname="user">"xxx"</property>
<propertyname="password">"xxx"</property>
</component>
<componentname="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<propertyname="driverClassName">
"org.postgresql.Driver"
</property>
<propertyname="URL">
"jdbc:postgresql://localhost/TEST"
</property>
<propertyname="user">"xxxx"</property>
<propertyname="password">"xxxx"</property>
</component>
<componentname="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<propertyname="driverClassName">
"net.sourceforge.jtds.jdbc.Driver"
</property>
<propertyname="URL">
"jdbc:jtds:sqlserver://localhost/TEST;instance=SQLEXPRESS"
</property>
<propertyname="user">"xxxx"</property>
<propertyname="password">"xxxx"</property>
</component>
-->
<componentname="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<propertyname="driverClassName">
"org.hsqldb.jdbcDriver"
</property>
<propertyname="URL">
"jdbc:hsqldb:hsql://localhost:9001"
</property>
<propertyname="user">"sa"</property>
<propertyname="password">""</property>
</component>
<componentname="connectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
<propertyname="timeout">600</property>
<propertyname="maxPoolSize">10</property>
<!--JTAトランザクションが開始されていない場合にコネクションを
取得できないようにするには次のプロパティをfalseにしてください.-->
<propertyname="allowLocalTx">true</property>
<destroyMethodname="close"/>
</component>
<componentname="dataSource"
class="org.seasar.extension.dbcp.impl.DataSourceImpl"/>
<!--WebLogic
<componentname="initialContext"class="javax.naming.InitialContext"/>
<componentname="transactionManager"
class="org.seasar.extension.j2ee.JndiTransactionManager">
<arg>initialContext</arg>
<arg>"javax.transaction.TransactionManager"</arg>
</component>
<component
class="org.seasar.extension.j2ee.JndiDataSource">
<arg>initialContext</arg>
<arg>"jndiName"</arg>
</component>
-->
<!--WebSphere4
<componentname="initialContext"class="javax.naming.InitialContext"/>
<componentname="transactionManager"
class="org.seasar.extension.j2ee.SingletonTransactionManager">
<arg>"com.ibm.ejs.jts.jta.JTSXA"</arg>
<arg>"getTransactionManager"</arg>
</component>
<component
class="org.seasar.extension.j2ee.JndiDataSource">
<arg>initialContext</arg>
<arg>"jndiName"</arg>
</component>
-->
<!--WebSphere5
<componentname="initialContext"class="javax.naming.InitialContext"/>
<componentname="transactionManager"
class="org.seasar.extension.j2ee.SingletonTransactionManager">
<arg>"com.ibm.ejs.jts.jta.TransactionManagerFactory"</arg>
<arg>"getTransactionManager"</arg>
</component>
<component
class="org.seasar.extension.j2ee.JndiDataSource">
<arg>initialContext</arg>
<arg>"jndiName"</arg>
</component>
-->
<!--JBoss
<componentname="initialContext"class="javax.naming.InitialContext"/>
<componentname="transactionManager"
class="org.seasar.extension.j2ee.JndiTransactionManager">
<arg>initialContext</arg>
<arg>"java:/TransactionManager"</arg>
</component>
<component
class="org.seasar.extension.j2ee.JndiDataSource">
<arg>initialContext</arg>
<arg>"jndiName"</arg>
</component>
-->
<!--Oracle10gAS
<componentname="initialContext"class="javax.naming.InitialContext"/>
<componentname="transactionManager"
class="org.seasar.extension.j2ee.JndiTransactionManager">
<arg>initialContext</arg>
<arg>"java:comp/UserTransaction"</arg>
</component>
<component
class="org.seasar.extension.j2ee.JndiDataSource">
<arg>initialContext</arg>
<arg>"jndiName"</arg>
</component>
-->
</components>
log4j.properties
#log4j.category.org.apache.struts=DEBUG,C
log4j.category.org.apache.commons.validator=ERROR
log4j.category.org.seasar=DEBUG,C
log4j.additivity.org.seasar=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
global.css
body{
padding:0;
background:#FFFFFF;
}
td,th{
font-size:small;
}
.title{
font-size:large;
font-weight:bold;
color:#5671A0;
}
.small{
font-size:70%;
color:white;
}
.smalla,smalla:visited{
color:white;
}
.smalltitle{
font-size:small;
font-weight:bold;
color:#5671A0;
}
.toolbar{
padding:4px;
background-color:#7694C8;
}
.tablebg{
background-color:#EEF3FB;
}
.oddRow,.row-1{
background-color:#FFFFFF;
}
.evenRow,.row-0{
background-color:#EEF3FB;
}
.left{
text-align:left;
}
.right{
text-align:right;
}
.box{
border:thinsolid#7694C8;
}
.label{
background-color:#ffffcc;
}
.display{
display:inline;
}
.notdisplay{
display:none;
}
.level0{
}
.level1{
}
.body{
margin-left:188px;
}
.header{
padding:4px;
}
.menu{
background:#FC0;
padding:0;
position:absolute;
width:120px;
top:145px;
}
.text{
text-align:left;
}
.number{
text-align:right;
}
.date{
text-align:left;
}
.error{
background-color:red;
}
.text-error{
background-color:red;
text-align:left;
}
.number-error{
background-color:red;
text-align:right;
}
.date-error{
background-color:red;
text-align:left;
}
execute.js
//
//
//
functiongo(inputTag,action){
if(action!=null){
inputTag.form.action=inputTag.form.action.replace(//[^/]*$/,action);
}
inputTag.form.method.value=inputTag.name;
}
layout.html
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j">
<linkhref="../../css/global.css"rel="stylesheet"type="text/css"id="globalStyle"></link>
<scripttype="text/javascript"src="../../js/execute.js"id="executeJs"></script>
<titleid="pageTitle">
S2StrutsSample
</title>
</head>
<body>
<tableborder="0"cellspacing="5"width="97%">
<tr>
<tdcolspan="2">
<divid="header">
<imgsrc="../../images/seasar.gif">
</div>
</td>
</tr>
<tr>
<tdwidth="200"valign="top">
<divid="navigation">
<ul>
<li><ahref="http://j5c.ddvip.com/index.php#">MENU1</a></li>
<li><ahref="http://j5c.ddvip.com/index.php#">MENU2</a></li>
<li><ahref="http://j5c.ddvip.com/index.php#">MENU3</a></li>
</ul>
</div>
</td>
<tdvalign="top"align="left">
<divid="layoutBody">
DUMMY
</div>
</td>
</tr>
<tr>
<tdcolspan="2">
<hr/>
</td>
</tr>
<tr>
<tdcolspan="2">
<divid="footer">
TheSeasarProject
</div>
</td>
</tr>
</table>
</body>
</html>
layout.mayaa
<?xmlversion="1.0"encoding="Shift_JIS"?>
<m:mayaaxmlns:m="http://mayaa.seasar.org"
xmlns:html="http://struts.apache.org/tags-html">
<m:echoid="globalStyle">
<m:attributename="href"value="${contextPath}/css/global.css"/>
</m:echo>
<m:echoid="executeJs">
<m:attributename="src"value="${contextPath}/js/execute.js"/>
</m:echo>
<m:insertid="pageTitle"name="title"replace="false"/>
<m:insertid="layoutBody"name="content"replace="false"/>
<m:insertid="navigation"replace="false"
path="/pages/layout/menu.html"name="menu"/>
<html:imgm:id="header"page="/images/seasar.gif"m:replace="false"/>
<!--ignoredids-->
<m:ignoreid="footer"/>
</m:mayaa>
menu.html
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j">
<linkhref="../../css/global.css"rel="stylesheet"type="text/css"></link>
<scripttype="text/javascript"src="../../js/execute.js"></script>
<title>
S2StrutsSampleMenu
</title>
</head>
<body>
<divid="menuBody">
<ul>
<li><ahref="http://j5c.ddvip.com/index.php#"id="addPage">S2StrutsAddApplication</a></li>
</ul>
</div>
</body>
</html>
menu.mayaa
<?xmlversion="1.0"encoding="Shift_JIS"?>
<m:mayaaxmlns:m="http://mayaa.seasar.org"
xmlns:html="http://struts.apache.org/tags-html"
xmlns:bean="http://struts.apache.org/tags-bean"
m:noCache="true">
<m:doRenderid="menuBody"name="menu"/>
<html:linkm:id="addPage"page="/pages/addInput.html"><bean:messagekey="add.title"/></html:link>
</m:mayaa>
addInput.html
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j">
<linkhref="../../css/global.css"rel="stylesheet"type="text/css"></link>
<scripttype="text/javascript"src="../../js/execute.js"></script>
<titleid="pageTitle">
S2StrutsAddApplicationDemo
</title>
</head>
<body>
<divid="appBody">
<divid="errorMessage"></div>
<formmethod="GET"action="result.html"id="appForm">
<inputname="arg1"type="text">+
<inputname="arg2"type="text">
<inputtype="submit"value="calculate"id="goCalc">
</form>
</div>
</body>
</html>
addInput.mayaa
<?xmlversion="1.0"encoding="Shift_JIS"?>
<m:mayaaxmlns:m="http://mayaa.seasar.org"
xmlns:html="http://struts.apache.org/tags-html"
xmlns:bean="http://struts.apache.org/tags-bean"
m:noCache="true"
m:extends="/pages/layout/layout.html">
<m:doRenderid="pageTitle"name="title">
<bean:messagekey="add.title"/>
</m:doRender>
<m:doRenderid="appBody"name="content"/>
<html:errorsm:id="errorMessage"/>
<html:formm:id="appForm"action="/add"focus="arg1"/>
<html:submitm:id="goCalc"><bean:messagekey="calc"/></html:submit>
</m:mayaa>
result.html
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Windows-31j">
<linkhref="../../css/global.css"rel="stylesheet"type="text/css"></link>
<scripttype="text/javascript"src="../../js/execute.js"></script>
<titleid="pageTitle">
S2StrutsApplicationResultDemo
</title>
</head>
<body>
<divid="appBody">
<divid="resultMessage">
result:100
</div>
</div>
</body>
</html>
result.mayaa
<?xmlversion="1.0"encoding="Shift_JIS"?>
<m:mayaaxmlns:m="http://mayaa.seasar.org"
xmlns:html="http://struts.apache.org/tags-html"
xmlns:bean="http://struts.apache.org/tags-bean"
m:noCache="true"
m:extends="/pages/layout/layout.html">
<m:doRenderid="pageTitle"name="title">
<bean:messagekey="result.title"/>
</m:doRender>
<m:doRenderid="appBody"name="content"/>
<divm:id="resultMessage">
<bean:messagekey="result"/>:<bean:writename="calcForm"property="result"/>
</div>
</m:mayaa>
struts-config.xml
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEstruts-configPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-beanname="calcForm"type="org.seasar.struts.examples.form.CalculationForm"/>
</form-beans>
<action-mappings>
<action
path="/add"
type="org.seasar.struts.examples.add.AddAction"
name="calcForm"
scope="request"
validate="false"
input="/pages/addInput.html">
<forwardname="success"path="/pages/result.html"/>
</action>
</action-mappings>
<controllerprocessorClass="org.seasar.struts.processor.S2RequestProcessor"/>
<message-resourcesparameter="application"/>
<plug-inclassName="org.apache.struts.validator.ValidatorPlugIn">
<set-propertyproperty="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
<plug-inclassName="org.seasar.struts.plugin.AutoStrutsConfigRegisterPlugIn">
<set-propertyproperty="enableJar"value="false"/>
<set-propertyproperty="docRoot"value="/pages"/>
</plug-in>
</struts-config>
tiles-defs.xml
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEtiles-definitionsPUBLIC
"-//ApacheSoftwareFoundation//DTDTilesConfiguration1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<!--
ThisisablankTilesdefinitionfilewithacommentedexample.
-->
<tiles-definitions>
<!--sampletilesdefinitions
<definitionname=".mainLayout"path="/common/layouts/classicLayout.jsp">
<putname="title" value="SamplePageTitle"/>
<putname="header"value="/common/header.jsp"/>
<putname="menu" value=".mainMenu"/>
<putname="footer"value="/common/footer.jsp"/>
<putname="body" value=".portal.body"/>
</definition>
<definitionname=".mainMenu"path="/common/layouts/vboxLayout.jsp">
<putListname="list">
<addvalue=".menu.links"/>
<addvalue=".menu.taglib.references"/>
<addvalue=".menu.printer.friendly"/>
<addvalue=".menu.old.documents"/>
</putList>
</definition>
<definitionname="aPage"extends=".mainLayout">
<putname="title" value="AnotherTitle"/>
<putname="body" value=".aPage.body"/>
</definition>
endsamples-->
<definitionname="${YOUR_DEFINITION_HERE}"></definition>
</tiles-definitions>
validation.xml
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEform-validationPUBLIC
"-//ApacheSoftwareFoundation//DTDCommonsValidatorRulesConfiguration1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<!--
<formset>
<formname="logonForm">
<field
property="username"
depends="required">
<argkey="logonForm.username"/>
</field>
<field
property="password"
depends="required,mask">
<argkey="logonForm.password"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
-->
</form-validation>
相关推荐
SAStruts是Seasar对经典的Struts框架的扩展,它提供了更强大的MVC(Model-View-Controller)架构支持。SAStruts将控制逻辑与视图逻辑分离,使得开发者可以独立地修改模型、视图和控制器部分。它还集成了S2Container...
接着,下载并解压S2xxx.zip文件,然后在Eclipse中通过"文件→导入→既存的工程"引入seasar2目录。使用Seasar2的基本功能(如S2Container和S2AOP)时,需要在CLASSPATH下包含一系列特定的JAR文件,包括aopalliance、...
S2Dao是Seasar2框架的一个重要组成部分,作为一个轻量级的持久化解决方案,它的主要特点是简化了Object-Relational Mapping(O/R映射)的过程,无需繁琐的XML配置。S2Dao的核心优势在于: 1. **无需XML配置**:与...
这意味着原有的Struts应用可以无缝迁移到S2Struts中,并且可以利用Seasar2提供的高级特性来改进代码质量和可维护性。 #### 连动的配置 为了实现S2Struts与Struts的连动,需要对web.xml进行一些修改: 1. **添加S2...
标题 "sa_framework, s2-tiger, s2-extension2.4 日文的API" 暗示了我们正在探讨的是Seasar2框架的一个特定版本,包括s2-tiger和s2-extension2.4的组件,这些组件都有日文的API文档。Seasar2是一个Java企业级应用...
Seasar2是一个开源的Java应用框架,其核心组件之一就是S2Tiger,你提到的"S2Tiger-2.3.23.zip"应该是Seasar2的一个版本更新,主要聚焦于依赖注入(DI)和面向切面编程(AOP)。在深入探讨这些知识点之前,我们先了解...
在这个过程中,我们将学习Seasar2中的核心组件之一——`S2Container`。 ##### 登场人物 - **问候语类** (`Greeting`):接口形式,用于定义问候语的行为。 - **问候客户端类** (`GreetingClient`):接口形式,用于...
标题中的“s2-dao-1.0.49.zip”指的是Seasar2项目中的一个特定版本,DAO(Data Access Object)模块的压缩包。Seasar2是一个Java平台上的开源框架,它旨在简化企业级应用的开发过程,尤其是数据库相关的操作。DAO层...
S2-DAO是Seasar框架中的一个重要部分,全称为"Seasar2 Data Access Object",它提供了数据访问层的抽象,使得开发者能够更方便地进行数据库操作,而无需直接编写SQL语句。这个"seasar框架的讲解s2-dao"压缩包,显然...
《S2Flex2-1.1.0:Seasar2框架与Flex交互的深度解析》 在现代Web应用开发中,交互性和用户体验是至关重要的因素。S2Flex2-1.1.0是一个专为Flash播放器设计的软件库,它使得开发者能够利用Adobe Flex这一强大的...
Seasar2框架包含多个组件,如S2Container(容器)、S2DAO(数据访问对象)、S2Action(动作)以及S2Remoting(远程调用)等。这些组件相互协作,构建出一个强大的企业级应用开发环境。 1. S2Container:作为Seasar2...
8. **配置文件**:Seasar2项目中通常包含多个配置文件,如`s2-tight coupling.xml`、`s2-component.xml`等,它们定义了框架的行为、组件配置和依赖关系。 9. **部署与运行**:完成编码和配置后,可以使用Ant或Maven...
seasar教程,最流行的java开发框架之一,再过几年可能成为主流. struts与Spring与Hibernate的简化版本,国外很多大公司己经用了几年了,NEC,LG的软件开发都是用这个的。兄弟们快学吧
3. **S2JUnit**:这是Seasar2提供的单元测试框架,扩展了标准的JUnit,提供了数据库回滚、事务管理等功能,使得在测试环境中更加方便地进行数据库操作。 4. **S2Aop**:面向切面编程模块,允许开发者定义切面,从而...
在实际开发中,Seasar2提供了诸如数据库访问(S2DAO)、事务管理(S2Transaction)、会话管理(S2Session)等功能,大大简化了企业级应用的开发工作。此外,Seasar2还支持MVC(Model-View-Controller)架构,通过S2...
然而,尽管Seasar2在当时是流行的框架之一,随着Spring框架的崛起,Seasar2的使用逐渐减少。不过,对于学习和理解组件化、容器化以及面向切面编程等概念,Seasar2仍是一个有价值的参考和学习资源。
1. **S2DAO.NET**:假设s2dao.net是针对.NET平台的一个数据访问对象(DAO)框架,类似于Java中的Seasar2 S2DAO。DAO模式是设计模式之一,用于在业务逻辑和数据库之间创建一层抽象,使得代码对具体数据库的依赖性降低...