以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- 对,上次是因为我的代码有点多,所以没有全部贴出来,就不怎么明确了,现在我全部贴出来,希望大家可以帮帮我,这个怎么解决呀!!! (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=49488) |
-- 作者:jiaoyu -- 发布时间:7/6/2007 10:55:00 AM -- 对,上次是因为我的代码有点多,所以没有全部贴出来,就不怎么明确了,现在我全部贴出来,希望大家可以帮帮我,这个怎么解决呀!!! XML文件: <?xml version="1.0" encoding="GB2312"?> <?xml-stylesheet type="text/xsl" href="CDriver1.xsl"?> <BISObject> <PropList> <Prop> <OBJ_ID> CDriver.OBJ_ID </OBJ_ID> <OBJ_NAME> OBJ_ID </OBJ_NAME> <UI_TYPE> 100 </UI_TYPE> <PROP_VALUE> DDDDDDDD </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.SEX </OBJ_ID> <OBJ_NAME> SEX </OBJ_NAME> <UI_TYPE> 110 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>男 </OBJ_ID> <OBJ_NAME>男</OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>女 </OBJ_ID> <OBJ_NAME>女 </OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.NATIVE </OBJ_ID> <OBJ_NAME> NATIVE </OBJ_NAME> <UI_TYPE> 100</UI_TYPE> <PROP_VALUE> DFDFD </PROP_VALUE> </Prop> <Prop> <Prop> <OBJ_ID> CDriver.ADDRESS </OBJ_ID> <OBJ_NAME> ADDRESS </OBJ_NAME> <UI_TYPE> 100 </UI_TYPE> <PROP_VALUE> ERWERER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_DATE </OBJ_ID> <OBJ_NAME> LISENCE_DATE </OBJ_NAME> <UI_TYPE>130 </UI_TYPE> <PROP_VALUE> 342342 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_TYPE </OBJ_ID> <OBJ_NAME> LISENCE_TYPE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <UI_TYPE>110 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>空闲 </OBJ_ID> <OBJ_NAME>空闲 </OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>工作</OBJ_ID> <OBJ_NAME>工作</OBJ_NAME> <DISP_SEQUENCE>0</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>异常</OBJ_ID> <OBJ_NAME>异常</OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.ISEMPLOYEE </OBJ_ID> <OBJ_NAME> ISEMPLOYEE </OBJ_NAME> <UI_TYPE> 113 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>是</OBJ_ID> <OBJ_NAME>是</OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>否</OBJ_ID> <OBJ_NAME>否</OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> </PropList> </BISObject> <?xml version="1.0" encoding="utf-8"?> <xsl:template match="/"> 还有就是,我的表单不是有submit 按钮呀,我现在想提交内容到另一个页面,text文本的很容易就过去了,可checkbox,list,texrarea的内容不知道该怎么在那边显示出来,希望这个问题也可以解决.谢谢!!! 现在上面的XSLT代码,肯定是那里指定路径不对,可我就是找不出来,希望大家帮帮忙了?我将非常感激!!!
|
-- 作者:Starling -- 发布时间:7/6/2007 11:12:00 AM -- 代码好乱看得头晕~~~ |
-- 作者:jiaoyu -- 发布时间:7/6/2007 11:23:00 AM -- 是呀,我也感觉有点乱 所以请大家多多担待点吧,因为有点多,所以不好调呀!!!不好意思 了!!! |
-- 作者:Qr -- 发布时间:7/6/2007 1:43:00 PM -- <xsl:with-param>根本取不到XML的节点值,不信你跟踪一下看看有无输出。既然局部变量为空值,怎么用于判断:<xsl:if test="$selected-PROP_VALUE='1' and $DISP_SEQUENCE='1'">。回去再看一下递归的用法,特别是xsl:call-template。偶最懒得用XSL的递归,所以不想改代码了,给你指出一下错处就好了。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 2:28:00 PM -- 好呀, 您能不能帮我改下代码呢?我其实研究这个也好久了,可就是不知道怎么回事,我相信您在改这个问题的时候肯定用不了多久时间,就可以搞定了,可是换到我就算再过两天可能还是在原地没动呢?因为这个问题我已经改了两天了!!! 好吧,再次希望您,能够帮帮我,谢谢!!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 2:53:00 PM -- 你的XML文件有问题。多了一个<prop>未关闭。所以有问题。用我改好的XML。 <?xml version="1.0" encoding="GB2312"?> <?xml-stylesheet type="text/xsl" href="CDriver1.xsl"?> <BISObject> <PropList> <Prop> <OBJ_ID> CDriver.OBJ_ID </OBJ_ID> <OBJ_NAME> OBJ_ID </OBJ_NAME> <UI_TYPE> 100 </UI_TYPE> <PROP_VALUE> DDDDDDDD </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.SEX </OBJ_ID> <OBJ_NAME> SEX </OBJ_NAME> <UI_TYPE> 110 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>男 </OBJ_ID> <OBJ_NAME>男</OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>女 </OBJ_ID> <OBJ_NAME>女 </OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.NATIVE </OBJ_ID> <OBJ_NAME> NATIVE </OBJ_NAME> <UI_TYPE> 100</UI_TYPE> <PROP_VALUE> DFDFD </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.ADDRESS </OBJ_ID> <OBJ_NAME> ADDRESS </OBJ_NAME> <UI_TYPE> 100 </UI_TYPE> <PROP_VALUE> ERWERER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_DATE </OBJ_ID> <OBJ_NAME> LISENCE_DATE </OBJ_NAME> <UI_TYPE>130 </UI_TYPE> <PROP_VALUE> 342342 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_TYPE </OBJ_ID> <OBJ_NAME> LISENCE_TYPE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <UI_TYPE>110 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>空闲 </OBJ_ID> <OBJ_NAME>空闲 </OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>工作</OBJ_ID> <OBJ_NAME>工作</OBJ_NAME> <DISP_SEQUENCE>0</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>异常</OBJ_ID> <OBJ_NAME>异常</OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.ISEMPLOYEE </OBJ_ID> <OBJ_NAME> ISEMPLOYEE </OBJ_NAME> <UI_TYPE> 113 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>是</OBJ_ID> <OBJ_NAME>是</OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>否</OBJ_ID> <OBJ_NAME>否</OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> </PropList> </BISObject> |
-- 作者:火鸟 -- 发布时间:7/6/2007 2:55:00 PM -- 那个<prop>在30几行。我用saxon当XSLT分析器,它比较严格。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 3:04:00 PM -- 您好!! 你那样做的话,radio的默认值可以选到吗?你只是改了XML文件,没有改XSLT吧,如果那样的话,我估计还是不对,因为我的XML的问题,可能是我往上面贴的时候,多加了一个Prop,应该不是那里的问题的,Qr都说了,我这个是因为参数没有取到值,可我不知道该怎么改,很烦的!!!!!!!!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:05:00 PM -- 就是Saxon中文支持不太好。 |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:06:00 PM -- 好,我看看。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 3:07:00 PM -- 那可能吧 但是是问题现在还没有解决,所以我很郁闷呀!!!!希望版主能够尽快给我解决呀!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:09:00 PM -- 我估计你的xslt是用眼睛看的,没有用xslt生成html |
-- 作者:jiaoyu -- 发布时间:7/6/2007 3:11:00 PM -- 什么意思, 加我QQ,我们聊聊,84674824 |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:15:00 PM -- 上班不可以用QQ,我把结果给你贴上来。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 3:23:00 PM -- 哦, 那MSN可以吗?我的是jiaoyu567@163.com |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:25:00 PM -- MSN也被禁了。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 3:31:00 PM -- 我真疯了!!! 那我就等你的好消息了,我建议你多看看我发的问题,然后再看看Qr的回复,一定可以搞出来的,在这里先谢谢你了!!!你编辑XSLT用什么软件,那个网址下载比较好呢? |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:36:00 PM -- 我觉得你把太多内容都放在一个xslt中,可能先写个html模板在翻成xslt会好点,我发现IsEmployee不显示是对的,有些Prop根本没有IsEmployee这个节点。 |
-- 作者:火鸟 -- 发布时间:7/6/2007 3:38:00 PM -- Saxon下载你用google查下就知道了。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 3:42:00 PM -- 关于要不要显示那个节点!!! 我觉得现在不是我们考虑的对象,我们现在要做的是怎么才能把我现在要解决的问题解决了,这是最主要的!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 4:36:00 PM -- done! 相关xslt: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/">
|
-- 作者:火鸟 -- 发布时间:7/6/2007 4:39:00 PM -- 以下是差别所在。 <xsl:when test="UI_TYPE=113"> <xsl:for-each select="PropValueList/CandidatedValue"> <input type="radio"> <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:attribute name="value"> <xsl:value-of select="../../PROP_VALUE" /> </xsl:attribute> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="checked">Checked</xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="checked">Checked</xsl:attribute> </xsl:if> </input> |
-- 作者:火鸟 -- 发布时间:7/6/2007 4:45:00 PM -- 也拜托看看我的问题。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:06:00 PM -- 你太历害了!!!非常感谢!!! 你的问题我也看了,如果把你的汉字换为英文的话,就很容易解决了. |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:10:00 PM -- 不是厉害,是兵刃称手,Saxon可以根据xml和xslt生成html,在对着看,就容易定位,解决问题了。
|
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:12:00 PM -- 如果改为这样的话,就可以实现了!! XML文件: <?xml version="1.0"?> XSLT文件: <?xml version="1.0" encoding="utf-8"?> 这样就可以输出为 abc,但如果中间要加空格的话,我就不知道怎么做了!! 还有那个number函数是什么意思呢? |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:14:00 PM -- 你搭出的xslt已经是高度复杂了,很不容易。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:15:00 PM -- 还有问题需要解决呀!! 我要把这个表单提交到另外一个页面,可是像checkbox,list,radio这些控件的值传不过去呀,你知道怎么做吗? |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:18:00 PM -- 还有!! 还有这段也搞不定呀 <xsl:when test="UI_TYPE=111"> |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:20:00 PM -- 我觉得xslt不是做页面设计的。 checkbox,list,radio的值没有什么奇怪的,checkbox值可能是个数组,list一般是单个值,也可能是数组,radio是单个值。textarea和input一样,都是一段值。这些应该用javascript好像不用xslt。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:21:00 PM -- 能告诉我你的QQ吗? 感觉不能直接在QQ里面和你聊天,真是一种遗憾,能告诉我QQ吗?我什么时候都在线上的,你今天可是帮了我大忙了,真的是非常感谢!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:22:00 PM -- <xsl:value-of select="OBJ_ID"/> 应该是<xsl:value-of select="../../OBJ_ID"/>吧,我猜的,你看看有没有XPath路径问题。 |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:24:00 PM -- 我的QQ:705883587很少在线。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:31:00 PM -- 现在直接从XML里面取值到XSLT,和radio的问题差不多,你可以再帮帮我吗? 谢谢!!!!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:35:00 PM -- 我要下班了,家里没有环境,你把问题贴上来,有空我帮你看看。 |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:40:00 PM -- 我觉得其他问题成因相似。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:46:00 PM -- 真是羡慕你呀,这么早就下班了!!! 我的问题呢,其实也还是比较简单的,和radio差不多的,肯定是用一样的方法,可我现在还是搞不定,所以请你再帮帮我把他们也搞定吧,像checkbox,list,textarea,现在XML的值,在表单里面还是显示不正确,正确的应该是这样的,对下拉列表来说,XML的Prop如果为2的话,那我的下拉框里面应该显示的就是"整车零公里",不知道我这样说,你能不能明白我的意思,但愿你能够清楚!!,好了,先就这么多吧,谢谢了!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 5:48:00 PM -- 你在帮导师做项目吧。 |
-- 作者:jiaoyu -- 发布时间:7/6/2007 5:57:00 PM -- 没有啊 这是我的工作,催的非常急,所以就一直在麻烦您了,不过今天非常的感谢您,要不是,您的帮助,我真是愁死了,不过我的问题已经贴上去了,您一定要帮我搞定呀!!谢谢!!!! |
-- 作者:火鸟 -- 发布时间:7/6/2007 10:26:00 PM -- number()是XPath函数,将字符串转化为数字,不这样有字符串的空格问题。 |
-- 作者:jiaoyu -- 发布时间:7/9/2007 9:29:00 AM -- 好啊!! 现在radio是可以正常运用了,可是checkbox,list这样的控件还是不可以正常运用,你能不能也帮我再看看这两个地方呢,就是UI_TYPE等于110和111这两个类型 |
-- 作者:火鸟 -- 发布时间:7/9/2007 9:54:00 AM -- 你把最新的相关xml和xslt贴出来吧,我中午有个面试,下午给你看看。 |
-- 作者:jiaoyu -- 发布时间:7/9/2007 10:23:00 AM -- 好的, XML文件: <?xml version="1.0" encoding="GB2312"?> <?xml-stylesheet type="text/xsl" href="CDriver1.xsl"?> <BISObject> <PropList> <Prop> <OBJ_ID> CDriver.OBJ_ID </OBJ_ID> <OBJ_NAME> OBJ_ID </OBJ_NAME> <UI_TYPE> 100 </UI_TYPE> <PROP_VALUE> DDDDDDDD </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.SEX </OBJ_ID> <OBJ_NAME> SEX </OBJ_NAME> <UI_TYPE> 110 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>男 </OBJ_ID> <OBJ_NAME>男</OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>女 </OBJ_ID> <OBJ_NAME>女 </OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.NATIVE </OBJ_ID> <OBJ_NAME> NATIVE </OBJ_NAME> <UI_TYPE> 100</UI_TYPE> <PROP_VALUE> DFDFD </PROP_VALUE> </Prop> <Prop> <Prop> <OBJ_ID> CDriver.ADDRESS </OBJ_ID> <OBJ_NAME> ADDRESS </OBJ_NAME> <UI_TYPE> 100 </UI_TYPE> <PROP_VALUE> ERWERER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_DATE </OBJ_ID> <OBJ_NAME> LISENCE_DATE </OBJ_NAME> <UI_TYPE>130 </UI_TYPE> <PROP_VALUE> 342342 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_TYPE </OBJ_ID> <OBJ_NAME> LISENCE_TYPE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <UI_TYPE>110 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>空闲 </OBJ_ID> <OBJ_NAME>空闲 </OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>工作</OBJ_ID> <OBJ_NAME>工作</OBJ_NAME> <DISP_SEQUENCE>0</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>异常</OBJ_ID> <OBJ_NAME>异常</OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.ISEMPLOYEE </OBJ_ID> <OBJ_NAME> ISEMPLOYEE </OBJ_NAME> <UI_TYPE> 113 </UI_TYPE> <PROP_VALUE> 1 </PROP_VALUE> <PropValueList> <CandidatedValue> <OBJ_ID>是</OBJ_ID> <OBJ_NAME>是</OBJ_NAME> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <OBJ_ID>否</OBJ_ID> <OBJ_NAME>否</OBJ_NAME> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> </PropList> </BISObject> XSLT文件: <?xml version="1.0" encoding="utf-8"?> <xsl:template match="/"> |
-- 作者:jiaoyu -- 发布时间:7/9/2007 2:03:00 PM -- 谢谢!!! 我的问题已经搞定了,所以您就不用帮我看了,谢谢!!! |
-- 作者:火鸟 -- 发布时间:7/9/2007 4:27:00 PM -- 公布一下答案吧。 |
-- 作者:jiaoyu -- 发布时间:7/9/2007 5:40:00 PM -- 好的, XSLT文件: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> |
-- 作者:火鸟 -- 发布时间:7/10/2007 9:12:00 AM -- 这是你的xml和xslt生成的HTML。不符合xhtml格式。没有<html>和<head><body>标签。 <?xml version="1.0" encoding="UTF-8"?><table width="100%"><tr><td align="center"><table><form id="newObject" name="newObject" action="aa.html" method="post"><tr><td align="center"><font align="center"><span id="strFormTitle">CDriver</span></font></td></tr><tr><td><table border="1" align="center"> |
-- 作者:火鸟 -- 发布时间:7/10/2007 9:22:00 AM -- 可是现在呢?就是通过submit提交到另一个页面后,radio,checkbox,textarea的值取不另一个页面呀 ================== 这个要通过服务器,比如提交到另外一个jsp。就可以在服务器端取到值。另外一个jsp可以把这些值写出来。 |
-- 作者:火鸟 -- 发布时间:7/10/2007 9:24:00 AM -- 另外你的控件要有id或name属性。 |
-- 作者:jiaoyu -- 发布时间:7/10/2007 5:51:00 PM -- 对,你说的没错!! 今天我们公司的网有问题,这个网站一起打不开,刚刚才可以打开,真是郁闷!!!!! 这个呢,是要通过服务器的,我现在就提交到一个JSP页面,可 list, checkbox 通过NAME值取不到表单里面的值,我的 radio 值现在都可以取过去了,不知道为什么他们两个的就是取不过去???? 我呢,现在已经给XSLT加上 html 的标签了. 还有, <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
-- 作者:火鸟 -- 发布时间:7/10/2007 5:59:00 PM -- xmlns:eMeng="http://dotnet.aspx.cc/" 这个链接看来是.net用的,可能示例程序是用.net写的。 你应该把相关xml生成xhtml然后看看这个文件有什么错误,或者你把相关文件贴上来看看。我估计是你生成的html里面checkbox和textarea没有name属性。关键还是那个生成的html文件是什么样的。 |
-- 作者:jiaoyu -- 发布时间:7/10/2007 6:27:00 PM -- 好的,我把所有的XML和XSLT文件发给你看看吧 XML文件: <?xml version="1.0" encoding="GB2312"?> 然后JSP页面是这样的. <html> |
-- 作者:火鸟 -- 发布时间:7/10/2007 7:52:00 PM -- 有一种可能是,xslt转换后的name属性值里有一堆空格,所以相应的jsp按没有空格的名字取取不到,明天有了环境给你测试一下。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 9:25:00 AM -- 你看我生成的html周围,name两边都是空格,你的jsp读到的所有值都是null。 以下是我翻成英文的xml和生成的html. xml <?xml version="1.0" encoding="GB2312"?> <?xml-stylesheet type="text/xsl" href="CDriver1.xsl"?> <BISObject> <OBJ_ID> CDriver </OBJ_ID> <OBJ_NAME> CDriver </OBJ_NAME> <UI_FLAG> 1 </UI_FLAG> <DESCRIPTION> N/A </DESCRIPTION> <FULLPATH_CLS_NAME> </FULLPATH_CLS_NAME> <DB_TABLE_NAME> </DB_TABLE_NAME> <BIZ_EAI_FLAG> </BIZ_EAI_FLAG> <ITEM_STRUCT> </ITEM_STRUCT> <LIST_STRUCT> </LIST_STRUCT> <PropList> <Prop> <OBJ_ID> CDriver.OBJ_ID </OBJ_ID> <OBJ_NAME> OBJ_ID </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> OBJ_ID </DB_FIELD_NAME> <PROP_INDEX> 1 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 0 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> DDDDDDDD </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.OBJ_NAME </OBJ_ID> <OBJ_NAME> OBJ_NAME </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME>OBJ_NAME </DB_FIELD_NAME> <PROP_INDEX> 2 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 0 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> ERWEREWR </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.DRIVER_LISENCE </OBJ_ID> <OBJ_NAME> DRIVER_LISENCE</OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> DRIVER_LISENCE </DB_FIELD_NAME> <PROP_INDEX> 3 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 0 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 0 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 4E4EW </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.SEX </OBJ_ID> <OBJ_NAME> SEX </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> SEX </DB_FIELD_NAME> <PROP_INDEX> 4 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 110 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 2 </PROP_VALUE> <PropValueList> <CandidatedValue> <SYS_ID>85</SYS_ID> <PROP_SYS_ID>258</PROP_SYS_ID> <OBJ_ID>Male</OBJ_ID> <OBJ_NAME>Male</OBJ_NAME> <C_VALUE>1</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Sex is male</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Male</C_DISP_VALUE> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <SYS_ID>86</SYS_ID> <PROP_SYS_ID>258</PROP_SYS_ID> <OBJ_ID>Female </OBJ_ID> <OBJ_NAME>Female </OBJ_NAME> <C_VALUE>2</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Sex is female</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Female</C_DISP_VALUE> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.NATIVE </OBJ_ID> <OBJ_NAME> NATIVE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> NATIVE </DB_FIELD_NAME> <PROP_INDEX> 5 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100</UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> DFDFD </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.BIRTHDAY </OBJ_ID> <OBJ_NAME> BIRTHDAY </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> BIRTHDAY </DB_FIELD_NAME> <PROP_INDEX> 6 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 143 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> EREWR </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.ID_NUMBER </OBJ_ID> <OBJ_NAME> ID_NUMBER </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> ID_NUMBER </DB_FIELD_NAME> <PROP_INDEX> 7</PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> ERRERE </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.MOBILER </OBJ_ID> <OBJ_NAME> MOBILER </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> MOBILER </DB_FIELD_NAME> <PROP_INDEX> 8 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> WRWER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.TRACKER </OBJ_ID> <OBJ_NAME> TRACKER </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> TRACKER </DB_FIELD_NAME> <PROP_INDEX> 9 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE>100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 3ER33 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.PHONE </OBJ_ID> <OBJ_NAME> PHONE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> PHONE </DB_FIELD_NAME> <PROP_INDEX> 10 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE>100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> ERWER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.ADDRESS </OBJ_ID> <OBJ_NAME> ADDRESS </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> ADDRESS </DB_FIELD_NAME> <PROP_INDEX> 11 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> ERWERER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_DATE </OBJ_ID> <OBJ_NAME> LISENCE_DATE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> LISENCE_DATE </DB_FIELD_NAME> <PROP_INDEX> 12 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE>130 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 342342 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.LISENCE_TYPE </OBJ_ID> <OBJ_NAME> LISENCE_TYPE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> LISENCE_TYPE </DB_FIELD_NAME> <PROP_INDEX> 13 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE>110 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 3 </PROP_VALUE> <PropValueList> <CandidatedValue> <SYS_ID>87</SYS_ID> <PROP_SYS_ID>267</PROP_SYS_ID> <OBJ_ID>Spare </OBJ_ID> <OBJ_NAME>Spare </OBJ_NAME> <C_VALUE>2</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Driver is spare</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Spare</C_DISP_VALUE> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <SYS_ID>90</SYS_ID> <PROP_SYS_ID>267</PROP_SYS_ID> <OBJ_ID>Working</OBJ_ID> <OBJ_NAME>Working</OBJ_NAME> <C_VALUE>1</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Driver is working</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Working</C_DISP_VALUE> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <SYS_ID>91</SYS_ID> <PROP_SYS_ID>267</PROP_SYS_ID> <OBJ_ID>Abnormal</OBJ_ID> <OBJ_NAME>Abnormal</OBJ_NAME> <C_VALUE>3</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Driver is abnormal</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Abnormal</C_DISP_VALUE> <DISP_SEQUENCE>3</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.ISEMPLOYEE </OBJ_ID> <OBJ_NAME> ISEMPLOYEE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> ISEMPLOYEE </DB_FIELD_NAME> <PROP_INDEX> 14 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 113 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 2 </PROP_VALUE> <PropValueList> <CandidatedValue> <SYS_ID>92</SYS_ID> <PROP_SYS_ID>268</PROP_SYS_ID> <OBJ_ID>Yes</OBJ_ID> <OBJ_NAME>Yes</OBJ_NAME> <C_VALUE>1</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Is a employee</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Yes</C_DISP_VALUE> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <SYS_ID>93</SYS_ID> <PROP_SYS_ID>268</PROP_SYS_ID> <OBJ_ID>No</OBJ_ID> <OBJ_NAME>No</OBJ_NAME> <C_VALUE>2</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Is employee?</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>No</C_DISP_VALUE> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> <Prop> <OBJ_ID> CDriver.TRUCK_NO </OBJ_ID> <OBJ_NAME> TRUCK_NO </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> TRUCK_NO </DB_FIELD_NAME> <PROP_INDEX> 15 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> ERWER </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.COMPANY_OBJ_ID </OBJ_ID> <OBJ_NAME> COMPANY_OBJ_ID </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> COMPANY_OBJ_ID </DB_FIELD_NAME> <PROP_INDEX> 16 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> ER23 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.ACCOUNT_ID </OBJ_ID> <OBJ_NAME> ACCOUNT_ID </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> ACCOUNT_ID </DB_FIELD_NAME> <PROP_INDEX> 17 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE>100 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 3545 </PROP_VALUE> </Prop> <Prop> <OBJ_ID> CDriver.WORK_TYPE </OBJ_ID> <OBJ_NAME> WORK_TYPE </OBJ_NAME> <CLS_NAME> CDriver </CLS_NAME> <DB_FIELD_NAME> WORK_TYPE </DB_FIELD_NAME> <PROP_INDEX> 18 </PROP_INDEX> <PROP_LENGTH> 64 </PROP_LENGTH> <PROP_TYPE> 1 </PROP_TYPE> <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE> <GUI_VISIBLE> 1 </GUI_VISIBLE> <PROP_DEFAULT_VALUE></PROP_DEFAULT_VALUE> <DESCRIPTION></DESCRIPTION> <DB_TABLE_NAME> T_DRIVER </DB_TABLE_NAME> <SC_EDI_UID> 0 </SC_EDI_UID> <UI_TYPE> 110 </UI_TYPE> <PROFILE_FLAG> 0 </PROFILE_FLAG> <GEN_TYPE> 0 </GEN_TYPE> <REF_CLS_NAME></REF_CLS_NAME> <REF_TYPE> 20 </REF_TYPE> <FULLPATH_CLS_NAME></FULLPATH_CLS_NAME> <USER_TIME_ZONE> 0 </USER_TIME_ZONE> <PROP_VALUE> 2 </PROP_VALUE> <PropValueList> <CandidatedValue> <SYS_ID>94</SYS_ID> <PROP_SYS_ID>272</PROP_SYS_ID> <OBJ_ID>Self driver</OBJ_ID> <OBJ_NAME>Self driver</OBJ_NAME> <C_VALUE>1</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Working Status</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>Yes</C_DISP_VALUE> <DISP_SEQUENCE>1</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <SYS_ID>95</SYS_ID> <PROP_SYS_ID>272</PROP_SYS_ID> <OBJ_ID>Whole care zero kilo</OBJ_ID> <OBJ_NAME>Whole care zero kilo</OBJ_NAME> <C_VALUE>2</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Working Status</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>No</C_DISP_VALUE> <DISP_SEQUENCE>2</DISP_SEQUENCE> </CandidatedValue> <CandidatedValue> <SYS_ID>96</SYS_ID> <PROP_SYS_ID>272</PROP_SYS_ID> <OBJ_ID>Whole machine deliver</OBJ_ID> <OBJ_NAME>Whole machine deliver</OBJ_NAME> <C_VALUE>3</C_VALUE> <IS_DEFAULT_CREATE>0</IS_DEFAULT_CREATE> <DESCRIPTION>Working condition</DESCRIPTION> <C_IS_CODED>0</C_IS_CODED> <C_DISP_VALUE>No</C_DISP_VALUE> <DISP_SEQUENCE>3</DISP_SEQUENCE> </CandidatedValue> </PropValueList> </Prop> </PropList> </BISObject> html |
-- 作者:火鸟 -- 发布时间:7/11/2007 9:38:00 AM -- 改过的jsp和结果。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 9:38:00 AM -- jsp: <html> <%request.setCharacterEncoding( "UTF-8" ); response.setCharacterEncoding( "UTF-8" ); %> <%=" OBJ_ID "%> <%=request.getParameter(" OBJ_ID ")%> <%="<br>"%> <%=" OBJ_NAME "%><%=request.getParameter(" OBJ_NAME ")%><%="<br>"%> <%=" DRIVER_LISENCE "%><%=request.getParameter(" DRIVER_LISENCE ")%><%="<br>"%> <%=" SEX "%><%=request.getParameter(" SEX ")%> <%="<br>"%> <%=" NATIVE "%><%=request.getParameter(" NATIVE ") %><%="<br>"%> <%=" BIRTHDAY "%><%=request.getParameter(" BIRTHDAY ") %><%="<br>"%> <%=" ID_NUMBER "%><%=request.getParameter(" ID_NUMBER ") %><%="<br>"%> <%=" MOBILER "%><%=request.getParameter(" MOBILER ") %><%="<br>"%> <%=" TRACKER "%><%=request.getParameter(" TRACKER ") %><%="<br>"%> <%=" PHONE "%><%=request.getParameter(" PHONE ") %><%="<br>"%> <%=" ADDRESS "%><%=request.getParameter(" ADDRESS ") %><%="<br>"%> <%=" LISENCE_DATE "%><%=request.getParameter(" LISENCE_DATE ") %><%="<br>"%> <%=" LISENCE_TYPE "%><%=request.getParameter(" LISENCE_TYPE ") %><%="<br>"%> <%=" ISEMPLOYEE "%><%=request.getParameter(" ISEMPLOYEE ") %><%="<br>"%> <%=" TRUCK_NO "%><%=request.getParameter(" TRUCK_NO ") %><%="<br>"%> <%=" COMPANY_OBJ_ID "%><%=request.getParameter(" COMPANY_OBJ_ID ") %><%="<br>"%> <%=" ACCOUNT_ID "%><%=request.getParameter(" ACCOUNT_ID ") %><%="<br>"%> <%=" WORK_TYPE "%><%=request.getParameter(" WORK_TYPE ") %><%="<br>"%> </html> |
-- 作者:火鸟 -- 发布时间:7/11/2007 9:41:00 AM -- 结果: OBJ_ID DDDDDDDD OBJ_NAME ERWEREWR DRIVER_LISENCE null SEX null NATIVE DFDFD BIRTHDAY EREWR ID_NUMBER ERRERE MOBILER WRWER TRACKER 3ER33 PHONE ERWER ADDRESS ERWERER LISENCE_DATE null LISENCE_TYPE null ISEMPLOYEE No TRUCK_NO ERWER COMPANY_OBJ_ID ER23 ACCOUNT_ID 3545 WORK_TYPE null 察看WORK_TYPE这一项,发现他的name属性为 CDriver ,问题在这里!! |
-- 作者:火鸟 -- 发布时间:7/11/2007 10:06:00 AM -- 将xslt的UIType110段改成这样,WorkType问题消失。 <xsl:when test="UI_TYPE=110"> <select > <xsl:attribute name="name"> <xsl:value-of select="OBJ_NAME" /> </xsl:attribute> <xsl:for-each select="PropValueList/CandidatedValue"> <option> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=3 and number(./DISP_SEQUENCE)=3"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </option> </xsl:for-each> </select> </xsl:when> </xsl:choose> </xsl:when> </xsl:choose> 现在的jsp答应 我找不到DRIVER_LISENCE LISENCE_DATE 这两项,请提示。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 10:08:00 AM -- 现在我生成的html <?xml version="1.0" encoding="UTF-8"?><table width="100%"><tr><td align="center"><table><form id="newObject" name="newObject" action="aa.jsp" method="post"><tr><td align="center"><font align="center"><span id="strFormTitle">CDriver</span></font></td></tr><tr><td><table border="1" align="center"> <tr> <td> OBJ_ID </td> <td> <input type="text" value=" DDDDDDDD " name=" OBJ_ID "/><text><font color="red">*</font></text> </td> <td> OBJ_NAME </td> <td> <input type="text" value=" ERWEREWR " name=" OBJ_NAME "/><text><font color="red">*</font></text> </td> <td> SEX </td> <td> <select name=" SEX "><option>Male</option><option value="Female " selected=" selected ">Female </option></select> </td> </tr> <tr> <td> NATIVE </td> <td> <input type="text" value=" DFDFD " name=" NATIVE "/> </td> <td> BIRTHDAY </td> <td> <input type="text" value=" EREWR " name=" BIRTHDAY "/> </td> <td> ID_NUMBER </td> <td> <input type="text" value=" ERRERE " name=" ID_NUMBER "/> </td> </tr> <tr> <td> MOBILER </td> <td> <input type="text" value=" WRWER " name=" MOBILER "/> </td> <td> TRACKER </td> <td> <input type="text" value=" 3ER33 " name=" TRACKER "/> </td> <td> PHONE </td> <td> <input type="text" value=" ERWER " name=" PHONE "/> </td> </tr> <tr> <td> ADDRESS </td> <td> <input type="text" value=" ERWERER " name=" ADDRESS "/> </td> <td> LISENCE_TYPE </td> <td> <select name=" LISENCE_TYPE "><option>Spare </option><option>Working</option><option value="Abnormal" selected=" selected ">Abnormal</option></select> </td> <td> ISEMPLOYEE </td> <td> <input type="radio" name=" ISEMPLOYEE ">Yes</input><input type="radio" name=" ISEMPLOYEE " checked="" value="No">No</input> </td> </tr> <tr> <td> TRUCK_NO </td> <td> <input type="text" value=" ERWER " name=" TRUCK_NO "/> </td> <td> COMPANY_OBJ_ID </td> <td> <input type="text" value=" ER23 " name=" COMPANY_OBJ_ID "/> </td> <td> ACCOUNT_ID </td> <td> <input type="text" value=" 3545 " name=" ACCOUNT_ID "/> </td> </tr> <tr> <td> WORK_TYPE </td> <td> <select name=" WORK_TYPE "><option>Self driver</option><option value="Whole care zero kilo" selected=" selected ">Whole care zero kilo</option><option>Whole machine deliver</option></select> </td> </table></td></tr><tr><td align="center"><input type="submit" align="center" value="Submit"/><input type="reset" align="center" value="Reset"/></td></tr></form></table></td></tr></table> |
-- 作者:火鸟 -- 发布时间:7/11/2007 10:22:00 AM -- DRIVER_LISENCE LISENCE_DATE两项没有UIType字段? |
-- 作者:火鸟 -- 发布时间:7/11/2007 10:27:00 AM -- DRIVER_LISENCE LISENCE_DATE两项UIType一个为0一个为130所以显示不出来,你看看该如何改。 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 12:40:00 PM -- 我看了!! DRIVER_LISENCE LISENCE_DATE两项UIType一个为0一个为130所以显示不出来,你看看该如何改。 这两个的UI_TYPE 都是110,你上面的那两个0和 130 是经过转换后得到的还是什么,我不知道那两个值是怎么出来的??? |
-- 作者:火鸟 -- 发布时间:7/11/2007 12:42:00 PM -- xml我没有转换,只不过改成了英文,在你原始的xml中,两个就是0和130 |
-- 作者:火鸟 -- 发布时间:7/11/2007 12:47:00 PM -- LISENCE_DATE的UIType没有值,LDRIVER_LISENCE的UIType是0 |
-- 作者:火鸟 -- 发布时间:7/11/2007 12:50:00 PM -- 有一个LISENCE_DATE的UIType值是130。 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 1:03:00 PM -- 哦!! 我知道了,UI_TYPE是0的话,在表单里面就可以不用显示这行数据了,如果是130的话,代表他是个隐藏表单域,在表单中也可以不用显示,但他的数据,还是要提交到另一个页面的. <xsl:if test = "UI_TYPE=130"> |
-- 作者:火鸟 -- 发布时间:7/11/2007 1:10:00 PM -- 这样写不对吧,你应该生成一个<input type="hidden" name="LISENCE_DATE" value="XXX">的标签吧? |
-- 作者:jiaoyu -- 发布时间:7/11/2007 1:31:00 PM -- 是!! 我当时,这样写了,就在<xsl:choose>中多做了一个判断,可是这样的话,就会有一个空的<td>在那里,没办法拿掉,所以我就把判断写到上面去了 |
-- 作者:火鸟 -- 发布时间:7/11/2007 1:33:00 PM -- 好,我给你看看。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:20:00 PM -- done! 相关xslt: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table width="100%"> <tr><td align="center"> <table> <form id="newObject" name="newObject" action="aa.jsp" method="post"> <tr> <td align="center"><font align="center"><span id="strFormTitle">CDriver</span></font></td></tr> <tr> <td> <table border="1" align="center"> <xsl:for-each select="//PropList/Prop[UI_TYPE!=0 and UI_TYPE != 130]"> <xsl:variable name="index" select="position()"/> <xsl:if test="($index+2) mod 3=0 "> <xsl:text disable-output-escaping="yes"> <tr> </xsl:text> </xsl:if> <xsl:call-template name="table_draw"> <xsl:with-param name="val" select="position()"/> </xsl:call-template> <xsl:if test="$index mod 3=0"> <xsl:text disable-output-escaping="yes"> </tr> </xsl:text> </xsl:if> </xsl:for-each> <xsl:for-each select="//PropList/Prop[UI_TYPE=130]"> <xsl:call-template name="hidden_draw"> </xsl:call-template> </xsl:for-each> </table> </td> </tr> <tr> <td align="center"> <input type="submit" align="center" value="Submit" /> <input type="reset" align="center" value="Reset"/> </td> </tr> </form> </table> </td></tr> </table> </xsl:template> <xsl:template name="table_draw"> <xsl:param name="val"/> <td> <xsl:if test="UI_TYPE!=130"> <xsl:value-of select="OBJ_NAME"/> </xsl:if> </td> <xsl:text disable-output-escaping="yes"> <td> </xsl:text> <xsl:choose> <xsl:when test="UI_TYPE!=130"> <xsl:choose> <xsl:when test="UI_TYPE=143"> <input type="text" value="{PROP_VALUE}" name="{OBJ_NAME}"/> </xsl:when> <xsl:when test="UI_TYPE=100"> <input type="text" value="{PROP_VALUE}" name="{OBJ_NAME}"/> </xsl:when> <xsl:when test="UI_TYPE=113"> <xsl:for-each select="PropValueList/CandidatedValue"> <input type="radio"> <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="checked"/> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="checked"/> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </input> </xsl:for-each> </xsl:when> <xsl:when test="UI_TYPE=114"> <input type="password" name="{OBJ_NAME}" /> </xsl:when> <xsl:when test="UI_TYPE=101"> <textarea name="{OBJ_NAME}" ><xsl:value-of select="PROP_VALUE"/></textarea> </xsl:when> <xsl:when test="UI_TYPE=111"> <select size="2" > <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:for-each select="PropValueList/CandidatedValue"> <option> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=3 and number(./DISP_SEQUENCE)=3"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </option> </xsl:for-each> </select> </xsl:when> <xsl:when test="UI_TYPE=110"> <select > <xsl:attribute name="name"> <xsl:value-of select="OBJ_NAME" /> </xsl:attribute> <xsl:for-each select="PropValueList/CandidatedValue"> <option> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=3 and number(./DISP_SEQUENCE)=3"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </option> </xsl:for-each> </select> </xsl:when> </xsl:choose> </xsl:when> </xsl:choose> <xsl:if test="UI_TYPE=120"> <xsl:for-each select="PropValueList/CandidatedValue"> <input type="checkbox" name="OBJ_NAME" value="{PROP_VALUE}"> <xsl:value-of select="OBJ_ID"/> </input> </xsl:for-each> </xsl:if> <xsl:if test="PROP_NULL_ALLOWANCE=0"> <text><font color="red">*</font></text> </xsl:if> <xsl:text disable-output-escaping="yes"> </td> </xsl:text> </xsl:template> <xsl:template name="hidden_draw"> <xsl:if test = "UI_TYPE=130"> <input type="hidden"> <xsl:attribute name="name"> <xsl:value-of select="OBJ_NAME"/> </xsl:attribute> <xsl:attribute name="value"> <xsl:value-of select="PROP_VALUE"/> </xsl:attribute> </input> </xsl:if> </xsl:template> </xsl:stylesheet> |
-- 作者:jiaoyu -- 发布时间:7/11/2007 2:27:00 PM -- 你太历害了!!! 真的非常感谢你!!! 感谢的话呢,我就不用说太多了.总之还是非常感谢你的.我真不知道该怎样表达我的 感谢之意.好了,多余的话我就不说了. 上次你说的那个软件,Saxon,我找了好多网站,都下载不了,不知道为什么?可以提供 一个下载的地址吗? 哦,对了,你做这行多久了呢? |
-- 作者:jiaoyu -- 发布时间:7/11/2007 2:30:00 PM -- 还有个问题?? 现在提交过去,所有的值都可以过去了,但怎么在"男"前面还有一个 null 值呢,你能不能再帮我看看为什么呢? 其它地方,应该都没有错误了???还有你是做Java开发吗? 你没有MSN吗? |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:30:00 PM -- 我在准备项目,xslt也是刚学。saxon公司网站:http://www.saxonica.com/ |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:32:00 PM -- 我没有MSN,有也上不了,公司封了。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:35:00 PM -- 我是做java开发的。还有一个null值大概是UI_TYPE=0的东东的吧。是DRIVER_LISENCE的吧。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:43:00 PM -- 我做程序员有5年多了。 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 2:44:00 PM -- 哦,对知道了 还有,就是如果你把任何一个 select 下拉列表 的 UI_TYPE 改为120 checkbox, 他的值怎么就取不过去了. 我的代码是这样写的,你看看 <xsl:if test="UI_TYPE=120"> |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:47:00 PM -- 我三点有个会,开完会给你看看。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 2:50:00 PM -- checkbox值有时是个数组。 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 2:50:00 PM -- 你知道怎么给里面加 javascript 吗? 我想加一个 javascript, 然后让表单的值全为空, 代码是这样的,可是一直加不进去,会报错,可这个错根本就不存在??? <script language="JavaScript" type="text/javascript"> 这个 javascript 脚本决对正确,我测试过了的 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 2:53:00 PM -- 可是!! 我试过了, checkbox 的值也可以直接用 name 值取到的,和那个数组什么的没什么关系呀??? |
-- 作者:jiaoyu -- 发布时间:7/11/2007 3:17:00 PM -- 关于那个null 值的问题!!! 我已经试过了,就是没有了那个 UI_TYPE 等到于0 的那个 Prop 节点,那个 null 值还是存在的,所以我认为可能还是程序那里写得有问题,和那个 Prop节点应该是没有关系的??? |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:19:00 PM -- 把你的jsp和它的结果贴出来看看? |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:20:00 PM -- 还有一个节点UI_TYPE值根本没有。 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 4:26:00 PM -- 好的 JSP页面: <html> 生成的表单,你运行一下XML就可以看到了. 还有值呢是这样的,提交后生成的值,DDDDDDDD EEEEEE null 男 RRRRRRRRR REETERTRE 123 ERRRRRR EREWR YRTYTY TERTTR 545454 工作 是 REERE YRT4T5 42343 整车自驾司机 DDDDDDDD EEEEEE null null RRRRRRRRR REETERTRE 123 ERRRRRR EREWR YRTYTY TERTTR 545454 工作 是 REERE YRT4T5 42343 整车自驾司机 |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:33:00 PM -- 你最好将值的对应参数名也一并输出,这样定位快一点。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:35:00 PM -- 是DRIVER_LISENCE的问题,这个参数对应的UI_TYPE值根本没有。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:37:00 PM -- UI_TYPE=0的值根据你的XLST是不会给传给下一个表的。 |
-- 作者:jiaoyu -- 发布时间:7/11/2007 4:39:00 PM -- 哦!! 我的XSLT中,就没有选那个节点的值,也没有在表单中输出相应的值,所以表单提交时那个值应该是不让出现的呀!! |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:55:00 PM -- 这是你生成的html <input type="checkbox" name="Male">Male</input><input type="checkbox" name="Female " value="Female " checked=" checked ">Female </input> 问题在这里,所以你必须要能得到生成的html才行。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 4:56:00 PM -- 修改相应的xslt问题消失 <xsl:if test="UI_TYPE=120"> <xsl:for-each select="PropValueList/CandidatedValue"> <input type="checkbox" > <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="checked"> checked </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="checked"> checked </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </input> </xsl:for-each> </xsl:if>
|
-- 作者:jiaoyu -- 发布时间:7/11/2007 5:16:00 PM -- 恩,我现在还是看不出来的@@ 我下了那个软件,可是不知道怎么用,好像不需要安装就可以直接用了吧.可我不知道点那个才可以用 |
-- 作者:火鸟 -- 发布时间:7/11/2007 5:41:00 PM -- 看它上面的文档,你把jar包放在classpath下,用命令行使用。 |
-- 作者:火鸟 -- 发布时间:7/11/2007 6:06:00 PM -- done! XLST: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <script language="JavaScript" type="text/javascript" src="ClearForm.js">&nbsp; </script> <table width="100%"> <tr><td align="center"> <table> <form id="newObject" name="newObject" action="aa.jsp" method="post"> <tr> <td align="center"><font align="center"><span id="strFormTitle">CDriver</span></font></td></tr> <tr> <td> <table border="1" align="center"> <xsl:for-each select="//PropList/Prop[UI_TYPE!=0 and UI_TYPE != 130]"> <xsl:variable name="index" select="position()"/> <xsl:if test="($index+2) mod 3=0 "> <xsl:text disable-output-escaping="yes"> <tr> </xsl:text> </xsl:if> <xsl:call-template name="table_draw"> <xsl:with-param name="val" select="position()"/> </xsl:call-template> <xsl:if test="$index mod 3=0"> <xsl:text disable-output-escaping="yes"> </tr> </xsl:text> </xsl:if> </xsl:for-each> <xsl:for-each select="//PropList/Prop[UI_TYPE=130]"> <xsl:call-template name="hidden_draw"> </xsl:call-template> </xsl:for-each> </table> </td> </tr> <tr> <td align="center"> <input type="submit" align="center" value="Submit" /> <input type="button" align="center" value="Reset" onclick="clearForm('newObject')"/> </td> </tr> </form> </table> </td></tr> </table> </xsl:template> <xsl:template name="table_draw"> <xsl:param name="val"/> <td> <xsl:if test="UI_TYPE!=130"> <xsl:value-of select="OBJ_NAME"/> </xsl:if> </td> <xsl:text disable-output-escaping="yes"> <td> </xsl:text> <xsl:choose> <xsl:when test="UI_TYPE!=130"> <xsl:choose> <xsl:when test="UI_TYPE=143"> <input type="text" value="{PROP_VALUE}" name="{OBJ_NAME}"/> </xsl:when> <xsl:when test="UI_TYPE=100"> <input type="text" value="{PROP_VALUE}" name="{OBJ_NAME}"/> </xsl:when> <xsl:when test="UI_TYPE=113"> <xsl:for-each select="PropValueList/CandidatedValue"> <input type="radio"> <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="checked"/> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="checked"/> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </input> </xsl:for-each> </xsl:when> <xsl:when test="UI_TYPE=114"> <input type="password" name="{OBJ_NAME}" /> </xsl:when> <xsl:when test="UI_TYPE=101"> <textarea name="{OBJ_NAME}" ><xsl:value-of select="PROP_VALUE"/></textarea> </xsl:when> <xsl:when test="UI_TYPE=111"> <select size="2" > <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:for-each select="PropValueList/CandidatedValue"> <option> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=3 and number(./DISP_SEQUENCE)=3"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </option> </xsl:for-each> </select> </xsl:when> <xsl:when test="UI_TYPE=110"> <select > <xsl:attribute name="name"> <xsl:value-of select="OBJ_NAME" /> </xsl:attribute> <xsl:for-each select="PropValueList/CandidatedValue"> <option> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=3 and number(./DISP_SEQUENCE)=3"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="selected"> selected </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </option> </xsl:for-each> </select> </xsl:when> </xsl:choose> </xsl:when> </xsl:choose> <xsl:if test="UI_TYPE=120"> <xsl:for-each select="PropValueList/CandidatedValue"> <input type="checkbox" > <xsl:attribute name="name"> <xsl:value-of select="../../OBJ_NAME" /> </xsl:attribute> <xsl:if test="number(../../PROP_VALUE)=1 and number(./DISP_SEQUENCE)=1"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="checked"> checked </xsl:attribute> </xsl:if> <xsl:if test="number(../../PROP_VALUE)=2 and number(./DISP_SEQUENCE)=2"> <xsl:attribute name="value"> <xsl:value-of select="OBJ_ID"/> </xsl:attribute> <xsl:attribute name="checked"> checked </xsl:attribute> </xsl:if> <xsl:value-of select="OBJ_ID"/> </input> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="hidden_draw"> <xsl:if test = "UI_TYPE=130"> <input type="hidden"> <xsl:attribute name="name"> <xsl:value-of select="OBJ_NAME"/> </xsl:attribute> <xsl:attribute name="value"> <xsl:value-of select="PROP_VALUE"/> </xsl:attribute> </input> </xsl:if> </xsl:template> </xsl:stylesheet> javascrip文件ClearForm.js |
-- 作者:jiaoyu -- 发布时间:7/11/2007 6:27:00 PM -- 好呀!! 你加了 javascript 后reset 按钮可以用了吗?我这里怎么还是用不了呢? 不知道为什么??? |
-- 作者:火鸟 -- 发布时间:7/11/2007 7:43:00 PM -- 在我这里reset按钮可以用了,你要把javascript放在ClearForm.js里.明天我把生成的html贴上来. |
-- 作者:火鸟 -- 发布时间:7/12/2007 9:24:00 AM -- 生成的html文件。 <?xml version="1.0" encoding="UTF-8"?><script language="JavaScript" type="text/javascript" src="ClearForm.js">&nbsp; </script><table width="100%"><tr><td align="center"><table><form id="newObject" name="newObject" action="aa.jsp" method="post"><tr><td align="center"><font align="center"><span id="strFormTitle">CDriver</span></font></td></tr><tr><td><table border="1" align="center"> <tr> <td> OBJ_ID </td> <td> <input type="text" value=" DDDDDDDD " name=" OBJ_ID "/><td> OBJ_NAME </td> <td> <input type="text" value=" ERWEREWR " name=" OBJ_NAME "/><td> SEX </td> <td> <input type="checkbox" name=" SEX ">Male</input><input type="checkbox" name=" SEX " value="Female " checked=" checked ">Female </input> </tr> <tr> <td> NATIVE </td> <td> <input type="text" value=" DFDFD " name=" NATIVE "/><td> BIRTHDAY </td> <td> <input type="text" value=" EREWR " name=" BIRTHDAY "/><td> ID_NUMBER </td> <td> <input type="text" value=" ERRERE " name=" ID_NUMBER "/> </tr> <tr> <td> MOBILER </td> <td> <input type="text" value=" WRWER " name=" MOBILER "/><td> TRACKER </td> <td> <input type="text" value=" 3ER33 " name=" TRACKER "/><td> PHONE </td> <td> <input type="text" value=" ERWER " name=" PHONE "/> </tr> <tr> <td> ADDRESS </td> <td> <input type="text" value=" ERWERER " name=" ADDRESS "/><td> LISENCE_TYPE </td> <td> <select name=" LISENCE_TYPE "><option>Spare </option><option>Working</option><option value="Abnormal" selected=" selected ">Abnormal</option></select><td> ISEMPLOYEE </td> <td> <input type="radio" name=" ISEMPLOYEE ">Yes</input><input type="radio" name=" ISEMPLOYEE " checked="" value="No">No</input> </tr> <tr> <td> TRUCK_NO </td> <td> <input type="text" value=" ERWER " name=" TRUCK_NO "/><td> COMPANY_OBJ_ID </td> <td> <input type="text" value=" ER23 " name=" COMPANY_OBJ_ID "/><td> ACCOUNT_ID </td> <td> <input type="text" value=" 3545 " name=" ACCOUNT_ID "/> </tr> <tr> <td> WORK_TYPE </td> <td> <select name=" WORK_TYPE "><option>Self driver</option><option value="Whole care zero kilo" selected=" selected ">Whole care zero kilo</option><option>Whole machine deliver</option></select><input type="hidden" name=" LISENCE_DATE " value=" 342342 "/></table></td></tr><tr><td align="center"><input type="submit" align="center" value="Submit"/><input type="button" align="center" value="Reset" onclick="clearForm('newObject')"/></td></tr></form></table></td></tr></table> |
-- 作者:jiaoyu -- 发布时间:7/12/2007 9:39:00 AM -- 好呀!! 我把 javascript 是放到了 js 文件里面了,可就是出不来,在我的 js 文件里面报的是 for循环那里, i++ 好像有问题!! |
-- 作者:火鸟 -- 发布时间:7/12/2007 9:45:00 AM -- 你试试我的html文件对不对,如果对,就是MSXML生成的文件和Saxon有所不同。还有一个就是文件们的路径对不对要不然你再把xslt中的 <script language="JavaScript" type="text/javascript" src="ClearForm.js">&nbsp; </script> 改成 <script language="JavaScript" type="text/javascript" src="ClearForm.js"> </script> 再试试。 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 9:59:00 AM -- 恩! 我刚试了你生成的HTML 文件的 reset 按钮也是没用的,还有有XSLT里面我也把 javascript 的地方改了,还是没用,我再看看,是不是别的地方出错了!!! |
-- 作者:火鸟 -- 发布时间:7/12/2007 10:05:00 AM -- 怪了,在我这里,配好了javascript,reset就能工作了。 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 10:36:00 AM -- 好呀!! 你的 reset 按钮是放在 xml 解析过来的表单里面吧,不是放到HTML文件里面吧???? |
-- 作者:火鸟 -- 发布时间:7/12/2007 10:42:00 AM -- 你的 reset 按钮是放在 xml 解析过来的表单里面吧,不是放到HTML文件里面吧???? ====================== 对,你可以在我的xslt中看见,为了reset按钮正常工作,我把它改成了一般的button |
-- 作者:jiaoyu -- 发布时间:7/12/2007 11:17:00 AM -- 这样好吗?? 我告诉你, 我的邮箱,你把你的有JSP页面,XML,XSLT,JS文件的那个包发给我,我看看我这里倒底是什么原因??? jiaoyu567@163.com |
-- 作者:火鸟 -- 发布时间:7/12/2007 11:27:00 AM -- 邮件发了。 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 1:29:00 PM -- 我也把我的发给你了!! 你看看,我现在的运行环境是 Eclispse , 我随便起了个工程名, newProject ,你把他放到开发 java 环境中看看!! |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:35:00 PM -- 对,我也是Eclipse,tomcat你要把saxon的jar包引入到project/library中。就是设置好classpath。其实,没有配置好也没关系,你看看我的Answer4.html提交给aa.jsp的结果就可以了。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:38:00 PM -- 只要把Answer4.html, ClearForm.js, aa.jsp放在服务器上一个目录里就好了。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:41:00 PM -- 你可以叫公司里的同事给你配置好环境,告诉他们帮你引入saxon的jar包。 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 1:43:00 PM -- 恩!! 可是你那个 ANSWER4 是个HTML文件呀,所以是可以成功的,可是如果只是拿XML转换成的XSLT表单,然后点击 reset 按钮就是没用的,就是说还没有转换成HTML呢, http://localhost:8088/newProject/CDriver1.xml 在我这里就应该是这个地址,然后可以打开表单,然后点击按钮就是没用的, |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:45:00 PM -- 呵呵,你的localhost地址我网上是访问不到的。我的html就是我的xml和xslt生成的,我没有编辑过。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:49:00 PM -- xml文件不过是利用xslt,最后还是要转化为html,只不过这个过程是自动的,你看不到而已,所以要利用saxon或者msxml人工转化。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:52:00 PM -- 你Eclipse挺熟的吗,这么快就配出来了。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 1:55:00 PM -- 你用我的xml和xslt试试。 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 2:04:00 PM -- 好!! 你的是一样的,只是运行XML文件,用IE打开,就会是一个表单,然后点击 reset 按钮和我说的是一样的,没有作用的,还有你的 question3.xml 文件 href 的还是 CDriver1.xsl ,所以你得先把他改为 question3.xsl,然后就可以运行出来看看了,这样的话,就是我一直说没好的原因,要是给经理看的话,他不会把他转为HTML的,只会就这样直接点RESET 按钮的,一看不成功,他就认为是没做好了!!!!先不要用 answer4 这个HTML 文件运行!!! |
-- 作者:火鸟 -- 发布时间:7/12/2007 2:44:00 PM -- 对,是javascript问题,可能saxon生成的html和msxml生成的不同,你应该研究下如何利用msxml生成html然后才可能调试出来,我也看看,不过我们公司下载封了很多,我不一定能搞到msxml。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 2:55:00 PM -- 你的xslt文件有问题,用我的Question3.xsl就好的,另外,xslt的后缀名是xsl。改变引用的xslt试试。 |
-- 作者:火鸟 -- 发布时间:7/12/2007 2:58:00 PM -- 另外,你要允许javascript运行。 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 3:47:00 PM -- 还有, 那个null 值的问题,你能不能再帮我看看是怎么回事,那个 null 怎么也取不掉呀 |
-- 作者:火鸟 -- 发布时间:7/12/2007 3:51:00 PM -- 根据你的xslt中的逻辑,UI_TYPE值为0的元素是传不过去的,你可以把它的UI_TYPE值改成130? |
-- 作者:jiaoyu -- 发布时间:7/12/2007 4:22:00 PM -- 好了 现在的问题是,怎么把XSLT加进去,可以直接用了,不用把它转换成HTML就可以用了,要是这步都能达到的话,我的问题就算差不多钱搞定了 |
-- 作者:jiaoyu -- 发布时间:7/12/2007 4:26:00 PM -- 错了 是直接把 JAVASCRIPT 加到XSLT中,不用转换就可以用了,那就基本上全完成了 |
-- 作者:火鸟 -- 发布时间:7/12/2007 4:29:00 PM -- 我试过,不行,可以用<!CDATA[[ , ]]>把javascript包起来,但是有问题,<>会被自动转成< >所以不行,我没有解决方案,你问问别人? |
-- 作者:jiaoyu -- 发布时间:7/12/2007 4:34:00 PM -- 谢谢!!! 不管怎样,你已经帮了我大忙了,再次感谢!! |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
1,343.750ms |