SJL 2.0介绍

04-10-19 luog1
经过了sjl1.0的实战--以前是走MS路线的,SJL是一个学习Java之作,里面的不足自然是多多,因此目标定得比较低,只要实现,表及子表数据管理,界面在一定程度上可定制。实现方式最好SG方式,应该是比较不错的实现了目标。

然后就开始了Sjl2.0的开发。
2.0具有的特性有:
1、完全基于Xml及Xsd,这样它就具有了无限的扩展性及自说明性,想想看,拿个XmlSpy就可以做出各种复杂的应用,是不是非常过瘾啊。
2、基于MVC结构
完整实现了VC的对象模型,并可以在各个应用中重用,组合。当然了M是你自己做的东东,要你自己写。
3、可以从对象模型和XML定义间互相转换,也就是说,你可以用java来定义模型,然后生成Xml文件,然后再修改xml文件,也可以从xml文件生成对象模型,当然也可以再次修改对象模型,再保存成xml。
4、可以直接通过对象模型或Xml定义实现应用,也可以在对象模型中调用Xml模型。
5、Xsd文件自动生成,当你扩展了VC后,可以通过此功能,生成你自己的Xml Schema文件,这个特性具有非常重要的作用。
6、XML文件可任意组合,也就是说,即可以把VC分别存放,也可以放在一个XML中,同样,V和C的XML文件,也可以分开存放,根据应用情况处理了。
7、内容可控性,在服务器端就可以对最终输出结果进行处理,比如:生成Xml文件,PDF文件等等,而不需要添加复杂的代码。当然,如果你要是做Web动态应用--比如我做了一个图书馆的项目,它有个需求是:
1、元素可重复
2、2个或多个元素可以组成一个组
3、组可以重复
4、组中元素可重复
5、组中可以有元素或组
也就是在Web界面中,要灵活的对界面进行变化(如果你没有理解,可以想想就是在Web上写一个Xml文件),此时此功能就极其有用,否则,怎么累死的都不知道。
8、当然,还有各种特性,如:数据桥的支持,Wizard的支持,权限的支持,还有一些比较细节,但绝对是有用的东东。

有感兴趣者请联系:msn/Email:spzebra99@hotmail.com

luog1
2004-10-19 09:31
那么,我们简单的举个例子,示例一下:
<?xml version="1.0" encoding="GB2312"?>
<WebInputForm ID="cc77ad80-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.input.WebInputForm" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>form</TagName>
</Parameters>
<WebActionVerifyPassword ClassName="snowrain.web.action.WebActionVerifyPassword">
<WebActionRedirect ClassName="snowrain.web.action.WebActionRedirect">
<ActionCondition>true</ActionCondition>
<FormatPattern ClassName="snowrain.format.FormatPattern">
<Parameters>
<needRecordSetData>true</needRecordSetData>
<SourceString>test.jsp</SourceString>
</Parameters>
</FormatPattern>
</WebActionRedirect>
<WebActionRedirect ClassName="snowrain.web.action.WebActionRedirect">
<ActionCondition>false</ActionCondition>
<FormatPattern ClassName="snowrain.format.FormatPattern">
<Parameters>
<needRecordSetData>true</needRecordSetData>
<SourceString>test.jsp</SourceString>
</Parameters>
</FormatPattern>
</WebActionRedirect>
</WebActionVerifyPassword>
<WebTable ID="cc77ad81-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTable" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>table</TagName>
</Parameters>
<WebTR ID="cc77ad82-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTR" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>tr</TagName>
</Parameters>
<WebTD ID="cc77ad83-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTD" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>td</TagName>
</Parameters>
<WebText ID="cc77ad84-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.misc.WebText" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<text>用户名</text>
</Parameters>
</WebText>
</WebTD>
<WebTD ID="cc77ad85-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTD" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>td</TagName>
</Parameters>
<WebInputText ID="ccd7f5f0-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.input.WebInputText" type="WebObject">
<Properties>
<Property name="name">username</Property>
<Property name="type">text</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>input</TagName>
<name>username</name>
<type>IT_TEXT</type>
</Parameters>
</WebInputText>
</WebTD>
</WebTR>
<WebTR ID="ccd7f5f1-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTR" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>tr</TagName>
</Parameters>
<WebTD ID="ccd7f5f2-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTD" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>td</TagName>
</Parameters>
<WebText ID="ccd7f5f3-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.misc.WebText" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<text>密码</text>
</Parameters>
</WebText>
</WebTD>
<WebTD ID="ccd7f5f4-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.table.WebTD" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>td</TagName>
</Parameters>
<WebInputPassword ID="ccd7f5f5-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.input.WebInputPassword" type="WebObject">
<Properties>
<Property name="name">password</Property>
<Property name="type">password</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>input</TagName>
<name>password</name>
<type>IT_PASSWORD</type>
</Parameters>
</WebInputPassword>
</WebTD>
</WebTR>
</WebTable>
<WebSubmitButton ID="ccd7f5f6-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.button.WebSubmitButton" type="WebObject">
<Properties>
<Property name="name">login</Property>
<Property name="type">submit</Property>
<Property name="value">登录</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>input</TagName>
</Parameters>
</WebSubmitButton>
</WebInputForm>
在下面一个回复中做详细解释

luog1
2004-10-19 09:43
<WebInputForm ID="cc77ad80-1dbd-11d9-a068-005056c00008" ClassName="snowrain.web.input.WebInputForm" type="WebObject">

这里说明有一个Form
<WebActionVerifyPassword ClassName="snowrain.web.action.WebActionVerifyPassword">
<WebActionRedirect ClassName="snowrain.web.action.WebActionRedirect">
<ActionCondition>true</ActionCondition>
<FormatPattern ClassName="snowrain.format.FormatPattern">
<Parameters>
<needRecordSetData>true</needRecordSetData>
<SourceString>test.jsp</SourceString>
</Parameters>
</FormatPattern>
</WebActionRedirect>
<WebActionRedirect ClassName="snowrain.web.action.WebActionRedirect">
<ActionCondition>false</ActionCondition>
<FormatPattern ClassName="snowrain.format.FormatPattern">
<Parameters>
<needRecordSetData>true</needRecordSetData>
<SourceString>test.jsp</SourceString>
</Parameters>
</FormatPattern>
</WebActionRedirect>
</WebActionVerifyPassword>
上面是它的Action(实际上即Control的实现)
可以看到,是先验证是否正确,然后根据成功与否,转到相应的页面中。当然这里是无论正确与否都到test页面了。
下面的内容是添加了一个表格,表格中放置了两个输入框及其标签,还有一个登录按钮。
当然,你也可以直接把这些内容写成Html的相关内容。这样就更简单了,但是无法体现我们这里这个V的强大性。

应用此套模型,可以方便的修改相关属性,及扩展复杂构件。

比如我们想给这个登录的Form,添加一个漂亮的边框,只需要在其而外添加一层

<BorderRoundCorner ID="8c3e4f06-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.border.BorderRoundCorner" type="WebObject">
<Parameters>
<SkinPath>borderimage/</SkinPath>
<ShowSingleLine>false</ShowSingleLine>
<SkinName>Default</SkinName>
<leftrightimagewidth>8</leftrightimagewidth>
<imageHeight>17</imageHeight>
<imageWidth>53</imageWidth>
<TitlebgColor>dddddd</TitlebgColor>
</Parameters>
......这里放置上一个Xml的WebInputForm内容即可
</BorderRoundCorner>

luog1
2004-10-19 09:46
那么再介绍一个功能极强的应用,它完成了唐诗300首的添加、修改、删除、复制、查看、排序、过滤等功能
下面是详细的Xml定义:
<?xml version="1.0" encoding="GB2312"?>
<BorderRoundCorner ID="8c3e4f06-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.border.BorderRoundCorner" type="WebObject">
<Parameters>
<SkinPath>borderimage/</SkinPath>
<ShowSingleLine>false</ShowSingleLine>
<SkinName>Default</SkinName>
<leftrightimagewidth>8</leftrightimagewidth>
<imageHeight>17</imageHeight>
<imageWidth>53</imageWidth>
<TitlebgColor>dddddd</TitlebgColor>
</Parameters>
<WebTitleBar ID="8c3e4f07-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.table.WebTitleBar" type="WebObject">
<Parameters>
<bgcolor>white</bgcolor>
<ShowSingleLine>false</ShowSingleLine>
<FontSize>5</FontSize>
</Parameters>
<Caption>
<WebFont ID="8c3e4f08-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebFont" type="WebObject">
<Properties>
<Property name="size">5</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>font</TagName>
</Parameters>
<WebTextWithFormat ID="8c3e4f09-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebTextWithFormat" type="WebObject">
<Parameters>
<isItalic>true</isItalic>
<isBlink>false</isBlink>
<isBold>false</isBold>
<isStrike>false</isStrike>
<ShowSingleLine>false</ShowSingleLine>
<headingSize>0</headingSize>
<isUnderLine>false</isUnderLine>
<text>唐诗赏析</text>
</Parameters>
</WebTextWithFormat>
</WebFont>
</Caption>
</WebTitleBar>
<WebTable ID="8c3e4ef0-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.table.WebTable" type="WebObject">
<Properties>
<Property name="width">100%</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>table</TagName>
</Parameters>
<WebTR ID="8c3e4ef1-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.table.WebTR" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>tr</TagName>
</Parameters>
<WebTD ID="8c3e4ef2-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.table.WebTD" type="WebObject">
<Properties>
<Property name="valign">top</Property>
<Property name="width">20%</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>td</TagName>
</Parameters>
<WebDBNavigator ID="8c3e4f05-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.webdb.WebDBNavigator" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<tablename>ARTICLE</tablename>
</Parameters>
<DBConnection ClassName="snowrain.database.DBConnection">
<Parameters>
<dbtype>2</dbtype>
<ConfigFilePath>C:/snowrain/weblib/dbconfig.properties</ConfigFilePath>
</Parameters>
</DBConnection>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Parameters>
<allowSort>false</allowSort>
<fieldLabel>卷</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>volume</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Parameters>
<allowSort>false</allowSort>
<fieldLabel>朝代</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>dynasty</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Parameters>
<allowSort>false</allowSort>
<fieldLabel>类型</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>poem_type</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Parameters>
<allowSort>false</allowSort>
<fieldLabel>作者</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>poem_author</fieldName>
</Parameters>
</RecordField>
<ForbidList>
<ValueList>sjl_navfieldname</ValueList>
<ValueList>sjl_navfieldvalue</ValueList>
</ForbidList>
</WebDBNavigator>
</WebTD>
<WebTD ID="8c3e4ef3-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.table.WebTD" type="WebObject">
<Properties>
<Property name="valign">top</Property>
<Property name="width">80%</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>td</TagName>
</Parameters>
<WebDBTable ID="8c3e4ef4-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.webdb.WebDBTable" type="WebObject">
<Parameters>
<pageSize>15</pageSize>
<isShowFooterPageNavigator>true</isShowFooterPageNavigator>
<ShowSingleLine>false</ShowSingleLine>
<isShowHeaderPageNavigator>true</isShowHeaderPageNavigator>
<PrimaryField>id</PrimaryField>
</Parameters>
<DBConnection ClassName="snowrain.database.DBConnection">
<Parameters>
<dbtype>2</dbtype>
<ConfigFilePath>C:/snowrain/weblib/dbconfig.properties</ConfigFilePath>
</Parameters>
</DBConnection>
<DataSource ClassName="snowrain.database.DataSource">
<Parameters>
<SQLQuery>SELECT * FROM ARTICLE</SQLQuery>
</Parameters>
<DefaultShortFields>
</DefaultShortFields>
</DataSource>
<ResultSetTable ClassName="snowrain.web.webdb.ResultSetTable">
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Properties>
<Property name="width">10%</Property>
<Property name="align">center</Property>
</Properties>
<Parameters>
<allowSort>true</allowSort>
<fieldLabel>卷</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>volume</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Properties>
<Property name="width">10%</Property>
<Property name="align">center</Property>
</Properties>
<Parameters>
<allowSort>true</allowSort>
<fieldLabel>朝代</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>dynasty</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Properties>
<Property name="width">10%</Property>
<Property name="align">center</Property>
</Properties>
<Parameters>
<allowSort>true</allowSort>
<fieldLabel>类型</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>poem_type</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Properties>
<Property name="width">10%</Property>
<Property name="align">center</Property>
</Properties>
<Parameters>
<allowSort>true</allowSort>
<fieldLabel>作者</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>poem_author</fieldName>
</Parameters>
</RecordField>
<RecordField ClassName="snowrain.web.webdb.RecordField">
<Properties>
<Property name="width">45%</Property>
<Property name="align">left</Property>
</Properties>
<Parameters>
<allowSort>true</allowSort>
<fieldLabel>诗名</fieldLabel>
<InputType>IT_TEXT</InputType>
<fieldName>poem_name</fieldName>
</Parameters>
<FormatPattern ClassName="snowrain.format.FormatPattern" type="FormatBase">
<Parameters>
<needRecordSetData>true</needRecordSetData>
<SourceString>&lt;a href=&apos;testform.jsp?sjl_primarykey=?DATARECORD_id&apos;&gt;?DATARECORD_poem_name&lt;/a&gt;</SourceString>
</Parameters>
<StringPattern ClassName="snowrain.format.StringPattern">
<Parameters>
<Type>DATARECORD</Type>
<VariableName>id</VariableName>
</Parameters>
</StringPattern>
<StringPattern ClassName="snowrain.format.StringPattern">
<Parameters>
<Type>DATARECORD</Type>
<VariableName>poem_name</VariableName>
</Parameters>
</StringPattern>
</FormatPattern>
</RecordField>
</ResultSetTable>
<TableOperationMode>
<TableOperation ID="8c3e4ef6-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.webdb.TableOperation" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<formPage>testform.jsp?</formPage>
</Parameters>
<WebHref ID="8c3e4eff-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">?</Property>
<Property name="title">显示全部记录</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Parameters>
<IsAcceptURLParameter>false</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebText ID="8c3e4f00-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebText" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<text>全部</text>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Parameters>
<IsAcceptURLParameter>false</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebText>
</WebHref>
<WebHref ID="8c3e4f01-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">?</Property>
<Property name="title">查找记录</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">6</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebText ID="8c3e4f02-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebText" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<text>查找</text>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">6</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebText>
</WebHref>
<WebHref ID="8c3e4f03-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">testform.jsp?</Property>
<Property name="title">添加新记录</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">3</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebText ID="8c3e4f04-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebText" type="WebObject">
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<text>添加</text>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">3</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebText>
</WebHref>
</TableOperation>
</TableOperationMode>
<RecordOperationMode>
<RecordOperation ID="8c3e4ef5-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.webdb.RecordOperation" type="WebObject">
<Parameters>
<imagePath>image/</imagePath>
<ShowSingleLine>false</ShowSingleLine>
<Title>操作方式</Title>
<formPage>testform.jsp?</formPage>
</Parameters>
<WebHref ID="8c3e4ef7-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">testform.jsp?</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">4</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebImage ID="8c3e4ef8-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebImage" type="WebObject">
<Properties>
<Property name="alt">复制记录</Property>
<Property name="src">image/iconcopy.gif</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>img</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">4</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebImage>
</WebHref>
<WebHref ID="8c3e4ef9-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">testform.jsp?</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">2</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebImage ID="8c3e4efa-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebImage" type="WebObject">
<Properties>
<Property name="alt">修改记录</Property>
<Property name="src">image/iconedit.gif</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>img</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">2</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebImage>
</WebHref>
<WebHref ID="8c3e4efb-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">testform.jsp?</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">1</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebImage ID="8c3e4efc-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebImage" type="WebObject">
<Properties>
<Property name="alt">查看记录</Property>
<Property name="src">image/iconview.gif</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>img</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_formshowmode">1</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebImage>
</WebHref>
<WebHref ID="8c3e4efd-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.button.WebHref" type="WebObject">
<Properties>
<Property name="href">testform.jsp?</Property>
<Property name="onclick">javascript:return(confirm(&apos;你确认要删除这条记录吗?&apos;))</Property>
</Properties>
<Parameters>
<ShowSingleLine>true</ShowSingleLine>
<TagName>a</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_submittype">7</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebImage ID="8c3e4efe-204b-11d9-b7d7-005056c00008" ClassName="snowrain.web.misc.WebImage" type="WebObject">
<Properties>
<Property name="alt">删除记录</Property>
<Property name="src">image/icondel.gif</Property>
</Properties>
<Parameters>
<ShowSingleLine>false</ShowSingleLine>
<TagName>img</TagName>
</Parameters>
<WebUrlParameter ClassName="snowrain.web.misc.WebUrlParameter">
<Properties>
<Property name="sjl_submittype">7</Property>
</Properties>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
</WebImage>
</WebHref>
</RecordOperation>
</RecordOperationMode>
<TableProperties>
<Property name="width">100%</Property>
<Property name="class">grid</Property>
</TableProperties>
<RecordOperationProperties>
<Property name="align">center</Property>
</RecordOperationProperties>
</WebDBTable>
</WebTD>
</WebTR>
</WebTable>
</BorderRoundCorner>

luog1
2004-10-19 09:55
执行结果


本来比这个好看,因为,图片大小受限制,只好换成gif格式了...

luog1
2004-10-19 10:02
那么我们来看看,如何把刚才的login.xml和这个表格放在一个里面呢?
<?xml version="1.0" encoding="GB2312" ?>
<WebObject>
<ClassName>snowrain.web.border.BorderRoundCorner</ClassName>
<Parameters>
<SkinPath>borderimage/</SkinPath>
<ShowSingleLine>false</ShowSingleLine>
<SkinName>Default</SkinName>
<leftrightimagewidth>8</leftrightimagewidth>
<imageHeight>17</imageHeight>
<imageWidth>53</imageWidth>
<WebObjectID>23</WebObjectID>
<TitlebgColor>dddddd</TitlebgColor>
</Parameters>
<WebUrlParameter>
<ClassName>snowrain.web.misc.WebUrlParameter</ClassName>
<Parameters>
<IsAcceptURLParameter>true</IsAcceptURLParameter>
</Parameters>
</WebUrlParameter>
<WebObjectFromXmlFile>C:/snowrain/weblib/login.xml</WebObjectFromXmlFile>
<WebObjectFromXmlFile>C:/snowrain/weblib/rc.xml</WebObjectFromXmlFile>
</WebObject>
这样实际上就可以把做好的任意Xml定义文件,按照任意可以想象得出来的方式组合,再也不必由于格局的调整而把代码改来改去了。

luog1
2004-10-19 10:10
正在完成的功能:
远程执行,即,在本地的定义文件,到另外一个服务器上进行执行
多服务器任务分流,即,由多个服务器分别完成不同的部分,最后完成一次服务请示。

有感兴趣请联系msn/Email:spzebra99@hotmail.com