📄 10048316775.shtml.htm
字号:
</div>
<div style="float: right; width: 570px; text-align: left; line-height: 16pt; padding-left: 2px;">
<!--导读-->
<h1 id="divCurrentNode" style="color: rgb(184, 53, 7); width: 100%; text-align: left; font-size: 12px; padding-left: 2px;">当前章节:<a href="http://book.csdn.net/bookfiles/483/10048316775.shtml"><font color="red">2.3 使用动作表单 </font></a></h1>
<div id="divRelateNode" style="padding-left: 2px;">
<div style="float: left; width: 49%;">·<a href="http://book.csdn.net/bookfiles/483/10048316772.shtml">1.7 小结 </a></div><div style="float: right; width: 49%;">·<a href="http://book.csdn.net/bookfiles/483/10048316773.shtml">2.1 动作表单概述 </a></div><div style="float: left; width: 49%;">·<a href="http://book.csdn.net/bookfiles/483/10048316774.shtml">2.2 ActionForm类 </a></div><div style="float: right; width: 49%;">·<a href="http://book.csdn.net/bookfiles/483/10048316776.shtml">2.4 使用HTML标签库 </a></div><div style="float: left; width: 49%;">·<a href="http://book.csdn.net/bookfiles/483/10048316777.shtml">2.5 另一个示例程序 </a></div><div style="float: right; width: 49%;">·<a href="http://book.csdn.net/bookfiles/483/10048316778.shtml">2.6 多页表单 </a></div></div>
</div>
</div>
<div class="clear">
</div>
</div>
<!-- main -->
<div id="main">
<div id="text">
<div id="csdn_zhaig_ad_yahoo_2"></div>
<p class="11" style="margin: 12.75pt 0cm 7.5pt;">2.3 使用动作表单</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">作为动作表单的一个用法示例,我们将实现一个用来添加产品信息的app02a应用程序。这个应用程序的目录结构如图2-2所示。</p>
<p style="margin-top: 7.5pt;" align="center"><img src="10048316775.shtml_files/image069.jpg" height="361" width="216"></p>
<p style="margin: 7.5pt 0cm;" align="center">图2-2 app02a应用程序的目录结构</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">这个示例
程序有两个动作:displayAddProductForm和saveProduct。displayAdd-
ProductForm动作将向用户显示输入产品信息的表单。saveProduct动作负责保存产品信息。这个示例程序的struts-
config.xml文件见代码清单2-1。</p>
<p class="ae" style="margin: 7.5pt 2pt 4.5pt;">代码清单2-1 app02a应用程序的Struts配置文件</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image070.jpg" height="222" width="437"></p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image071.jpg" height="58" width="442"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 17.8pt;">displayAddProductForm动作没有与之相关的动作类,在调用这个动作的时候,forward属性会把用户直接引导到displayAddProductForm.jsp页面。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">再看
saveProduct动作,它有一个app02a.action.saveProductAction类型的动作类。更重要的是,这个动作定义了
name、input和scope等属性。定义的name属性意味着调用这个动作必须创建一个动作表单。该动作表单的类型是
app02a.form.ProductForm,这是由相应的form-bean元素决定的。ProductForm类的代码见代码清单2-2。</p>
<p class="ae" style="margin: 7.5pt 2pt 4.5pt;">代码清单2-2 ProductForm类</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image072.jpg" height="385" width="338"></p>
<p class="a1" style="margin-top: 0cm;"><img src="10048316775.shtml_files/image073.jpg" height="95" width="349"></p>
<p class="a1" style="margin-top: 0cm;"><img src="10048316775.shtml_files/image074.jpg" height="126" width="349"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">请特别注意ProductForm类里的validate方法。这个方法里的规则表明,productName和description属性不得为空。换句话说,与这个动作表单相关联的HTML表单里的productName和description字段必须有值。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 17.8pt;">displayAddProductForm.jsp页面包含着相关联的HTML表单,它的代码见代码清单2-3。</p>
<p class="ae" style="margin: 7.5pt 2pt 4.5pt;">代码清单2-3 displayAddProductForm.jsp页面</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image075.jpg" height="246" width="334"></p>
<p class="a1" style="margin-top: 0cm;"><img src="10048316775.shtml_files/image076.jpg" height="143" width="369"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">请注意,这个HTML表单里的字段与ProductForm动作表单里的属性是一一对应的。我们将在下一个示例程序里向大家介绍一种更好的HTML表单编写办法。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">于是,用
户提交这个HTML表单的行为将调用saveProduct动作。此时,Struts将创建ProductForm类的实例并调用validate方法。
如果productName或description字段为空,输入验证将失败,而Struts就将按照名为SaveProduct的action元素的
input属性的指定把控制权转交给displayAddProductForm.jsp页面。如果输入验证成功,Struts将调用相关动作对象(该对
象是SaveProductAction类的一个实例)的execute方法。SaveProductAction类的代码见代码清单2-4。</p>
<p class="ae" style="margin: 7.5pt 2pt 4.5pt;">代码清单2-4
SaveProductAction类</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image077.jpg" height="261" width="376"></p>
<p class="a1" style="margin-top: 0cm;"><img src="10048316775.shtml_files/image078.jpg" height="111" width="376"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 17.8pt;">SaveProductAction
类的execute方法将创建ProductTO对象(ProductTO类的代码参见第1章),把它插入数据库,然后保存到
HttpServletRequest对象。请注意,ProductTO实例是从动作表单获取其各有关属性值的。把这个传输对象插入数据库的代码在这里没
有给出对象持久化的问题将在第15章讨论。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 17.8pt;">SaveProductAction类将把控制权转交给displaySavedProduct.jsp页面(见代码清单2-5),该页面使用JSTL库显示ProductTO对象里的各项值。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;"> </p>
<p class="ae" style="margin: 7.5pt 2pt 4.5pt;">代码清单2-5 displaySavedProduct.jsp页面</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image080.jpg" height="205" width="401"></p>
<p class="111" style="margin: 7.5pt 0cm;">运行app02a应用程序</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">运行app02a应用程序的办法很简单,使用如下所示的URL就可以调用displayAdd- ProductForm动作:</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image081.jpg" height="15" width="349"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">这个动作是由struts-config.xml文件里的action元素定义的:</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image082.jpg" height="28" width="310"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">我们没有为这个action元素定义type属性,所以该动作将把控制权直接转交给display- AddProductForm页面,你将在浏览器里看到一个如图2-3所示的HTML表单。</p>
<p style="margin-top: 7.5pt;" align="center"><img src="10048316775.shtml_files/image083.jpg" height="148" width="257"></p>
<p style="margin: 4.5pt 0cm 7.5pt;" align="center">图2-3 Add Product页面</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">现在,请在前两个字段里输入数值,但不要填写最后一个字段。这么做的结果是:当提交表单时,你将再次看到同样的页面。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">接下来,在所有的字段里都输入数值并再次提交这个表单。这一次,你应该在浏览器里看到如图2-4所示的画面。</p>
<p style="margin-top: 7.5pt;" align="center"><img src="10048316775.shtml_files/image084.jpg" height="164" width="312"></p>
<p style="margin: 7.5pt 0cm;" align="center">图2-4 displaySavedProduct.jsp页面 </p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 17.8pt;">app02a应用程序的控制流程见图2-5。</p>
<p style="margin: 7.5pt 0cm;" align="center"><img src="10048316775.shtml_files/image085.jpg" height="564" width="507"></p>
<p style="margin: 7.5pt 0cm;" align="center">图2-5 app02a应用程序的控制流程</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">在调用displayAddProductForm动作的时候(图2-5中的请求1),Struts将把控制权转交给displayAddProductForm.jsp页面(响应1),你将看到如图2-3所示的HTML表单。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">如果没有给所有的字段都输入数值的情况下就提交了HTML表单(请求2A),将调用saveProduct动作。这个动作是由struts-config.xml文件里如下所示的action元素定义的:</p>
<p class="a1" style="margin-top: 4.5pt;"><img src="10048316775.shtml_files/image086.jpg" height="95" width="416"></p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">在提交
HTML表单之后,如上定义的动作servlet将创建app02a.form.ProductForm类的实例并调用其validate方法。但因为这
一次的输入验证失败,
validate方法将返回一个非空的ActionErrors对象。作为结果,这个动作servlet将尝试获取相应action元素里的input属
性值。具体到这个示例,你将看到displayAddProductForm.jsp页面(响应2A)。</p>
<p class="MsoNormal" style="margin-top: 5.25pt; text-indent: 20pt;">现在,填
好所有的字段并提交这个HTML表单(请求2B),saveProduct动作将再次调用,示例程序的动作servlet将再次创建
ProductForm实例并调用其validate方法。这一次,输入验证成功,将发送一个saveProductAction实例给动作表单。这个
saveProductAction实例的execute方法将返回ActionForward对象,该对象使得控制权转交给了
displaySavedProduct. jsp页面,而最终的结果是你将在浏览器里看到如图2-4所示的确认消息(响应2B)。</p>
<div style="border-style: solid none; border-color: rgb(153, 153, 153) -moz-use-text-color; border-width: 1pt medium; padding: 4pt 0cm; margin-left: 2pt; margin-right: 2pt;">
<p class="a3" style="margin: 11.25pt 0cm 11.25pt 28.5pt; text-indent: -28.5pt;">注解 input元素的值还可以是另外一个动作的路径。</p>
</div>
</div>
<!-- page -->
<div class="page" style="text-align: center;">
<a href="http://book.csdn.net/bookfiles/483/10048316774.shtml">上一页</a> <a href="http://book.csdn.net/bookfiles/483/index.html">首页</a> <a href="http://book.csdn.net/bookfiles/483/10048316776.shtml">下一页</a>
</div>
<div class="content" style="text-align: right; width: 99%;">
【<a target="_blank" href="http://remark2.csdn.net/r/decfe161e911484e989ccbd8c4c563f4483.ashx">查看所有评论</a>(<span id="remark_count">8</span>)条】
<!--引用评论开始-->
<script>
/*
配置评论相关的参数
*/
remark_para_SiteId = 'decfe161-e911-484e-989c-cbd8c4c563f4';
remark_para_PCId = 483;
//remark_para_PId = '00000000-0000-0000-0000-000000000003';
remark_para_Title = escape('深入浅出Struts');
remark_para_Tags =escape('');
remark_para_IframeHeight = '350px';
remark_para_IframeWidth = '100%';
remark_para_Charset = "gb2312";;
remark_para_CountElemId = "remark_count";
remark_para_PostAreaId = "Ian_PostRemarkArea";
remark_para_List_PanelId = "Ian_RemarkList";
remark_para_Top_Id = "Ian_RemarkTop";
remark_para_PostAreaRandomImageWidth = "90";//"120";
remark_para_PostAreaRandomImageHeight = "25";//"30";
remark_para_PostAreaRandomImageFontSize = "15";//"15";
remark_para_PostAreaStyle = 'http://remark2.csdn.net/demo/csdnbook/rview.css';
remark_para_List_PageSize =5;
</script>
<!--呈现评论列表的容器-->
<div class="leftTitle"><h2 class="cDRed"> 最近评论</h2></div>
<br><br>
<div id="Ian_RemarkList" class="pkzone_list_sty"><dl>
<dt><span>[热]</span> CSDN 网友 发表评论:</dt>
<dd class="content"><p>反对
</p><div> [引用] 来自 220.248.45.* 的 CSDN 网友 发表于2007-09-07 11:23:17[<a target="_blank" href="http://pkzone.csdn.net/p/729673582f4f45e39128501a119d768f.ashx">PK Zone</a>]<br>
<p>现在该学习struts2了,很多公司都在用struts2
</p></div>
</dd>
<dd class="left">时间:2008-02-29 12:01:19 来自:121.29.242.*</dd>
<dd class="right"><span><a target="_blank" href="http://pkzone.csdn.net/p/decfe161e911484e989ccbd8c4c563f40e5a0c33ec184bca845ef83a4fa36367483.ashx">PK Zone</a></span><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBMEJCNTg0NzM3MjUxRjQ5MUNGMEEzRjBGODUxMDZCQUEwNEVGQzc2RDRDNTQ2NEExMTE4OTFBM0ZFNDBBMEY3RUQ0NkYyOTRDMjg2NDJEODBDRjlFODQ0REEwRkZEREEz">支持</a></dfn><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBMEJCNTg0NzM3MjUxRjQ5MUNGMEEzRjBGODUxMDZCQUEwNEVGQzc2RDRDNTQ2NEExMTE4OTFBM0ZFNDBBMEY3RUQ0NkYyOTRDMjg2NDJEODBCQjMyMEYzNjg3QkI0MkQz">反对</a></dfn></dd>
</dl><dl>
<dt><span>[热]</span> CSDN 网友 发表评论:</dt>
<dd class="content"><p>反对
</p><div> [引用] 来自 220.248.45.* 的 CSDN 网友 发表于2007-09-07 11:23:17[<a target="_blank" href="http://pkzone.csdn.net/p/729673582f4f45e39128501a119d768f.ashx">PK Zone</a>]<br>
<p>现在该学习struts2了,很多公司都在用struts2
</p></div>
</dd>
<dd class="left">时间:2007-09-11 20:10:51 来自:210.83.218.*</dd>
<dd class="right"><span><a target="_blank" href="http://pkzone.csdn.net/p/decfe161e911484e989ccbd8c4c563f40cf52f9d04834aebbf3f9772bb99d8e2483.ashx">PK Zone</a></span><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBRUZFNThDMTUxNDRFMDdBMDhDQUUxMDhBMDM4REQ5Qjc3MUZEOTcwNkVGODlEMjRFRjdFNDQ5Q0RFRjczN0IxNTRBQzYyRTBDMkNBMzI0QzAxQzU2ODg1RUU2M0Y2MTM5">支持</a></dfn><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBRUZFNThDMTUxNDRFMDdBMDhDQUUxMDhBMDM4REQ5Qjc3MUZEOTcwNkVGODlEMjRFRjdFNDQ5Q0RFRjczN0IxNTRBQzYyRTBDMkNBMzI0QzBBQUExNDM4NzAwNUQwRkU1">反对</a></dfn></dd>
</dl><dl>
<dt><span>[热]</span> CSDN 网友 发表评论:</dt>
<dd class="content"><p>现在该学习struts2了,很多公司都在用struts2
</p></dd><dd class="left">时间:2007-09-07 11:17:23 来自:220.248.45.*</dd>
<dd class="right"><span><a target="_blank" href="http://pkzone.csdn.net/p/decfe161e911484e989ccbd8c4c563f4729673582f4f45e39128501a119d768f483.ashx">PK Zone</a></span><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBRUU4RkI3RTAzNDE5M0Q3QjFEMDUzQ0IxMTM0RDA5NDZCMzhBOTcyMjI0OTM0OUNCM0JDNjgwREREOEREMjg0MUYzOTVEMURGNzk0MzZGQjUwQkZCNzc1MDg1REQwOUZG">支持</a></dfn><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBRUU4RkI3RTAzNDE5M0Q3QjFEMDUzQ0IxMTM0RDA5NDZCMzhBOTcyMjI0OTM0OUNCM0JDNjgwREREOEREMjg0MUYzOTVEMURGNzk0MzZGQjUxNTIxRjc3QzNENDI3QzM3">反对</a></dfn></dd>
</dl><dl>
<dt><span>[热]</span> <a target="_blank" href="http://webim.csdn.net/msg.aspx?Incept=bingdian_111">bingdian_111</a> 发表评论:</dt>
<dd class="title"><cite>[是有点过时]</cite></dd>
<dd class="content"><p>我的QQ群34524638
</p></dd><dd class="left">时间:2007-08-31 09:25:30 来自:219.140.120.*</dd>
<dd class="right"><span><a target="_blank" href="http://pkzone.csdn.net/p/decfe161e911484e989ccbd8c4c563f4f2cc1551f20d411d9a418e8ae07bfcc3483.ashx">PK Zone</a></span><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBMUY2MUUwREQ5MUNDQTI0MjI5QUQ1Qzc1RTNBNEEzNUQ2ODhCNEE4M0Y0NTAwRTI0NURDNjA5NzdGQ0JFNDcxODY0MTY1RDUwRjcxMzMzMzMwMDhGQkYzNkFFQkNGOTlGRUFEMTI3RjM0MDE4OTAzNURFQTI2QkNBQkM2QTk1MTk===">支持</a></dfn><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBMUY2MUUwREQ5MUNDQTI0MjI5QUQ1Qzc1RTNBNEEzNUQ2ODhCNEE4M0Y0NTAwRTI0NURDNjA5NzdGQ0JFNDcxODY0MTY1RDUwRjcxMzMzMzMwMDhGQkYzNkFFQkNGOTlGRUFEMTI3RjM0MDE4OTAzNUJEMTRFRTQyMDNCMUI2QTk===">反对</a></dfn></dd>
</dl><dl>
<dt><span>[热]</span> CSDN 网友 发表评论:</dt>
<dd class="content"><p>hehe</p><p>
</p></dd><dd class="left">时间:2007-08-30 13:14:14 来自:59.44.116.*</dd>
<dd class="right"><span><a target="_blank" href="http://pkzone.csdn.net/p/decfe161e911484e989ccbd8c4c563f4b1c21f41b2ca47c49c2cfabfa0fb6b06483.ashx">PK Zone</a></span><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBQ0U5ODJBNjQ4OTYwNzRCQkJCNjlBRERCODFENjNFNUNGNDVERDdCOUU3NkYzMjdCNTdCRDBERDU5RDE4MkM2QURFMzZENjU4OTBGRTg1RjIzNkUyQTg5MkQ2QUNDRTc5">支持</a></dfn><dfn><a target="_blank" href="http://remark2.csdn.net/QuickPKZone.aspx?parm=QTI1NTQ2MTc1NDlENEM4OTc4MTRDNTEyQTM3NkFEOEUwNDQzMEUxRjMzMjE4RTM4NDAzRUM5OUU1QkI3RDlEQjgyREU2NTQ4ODc0QzYwRkJBMzg5QUE1Q0RFNjlGMEZFRUVDQ0Y0Qjc1MDJCNTEyRUM5MjU1MzY0QzZBMEE0MUExMDFCRTFGM0JGMzRDNEJBQ0U5ODJBNjQ4OTYwNzRCQkJCNjlBRERCODFENjNFNUNGNDVERDdCOUU3NkYzMjdCNTdCRDBERDU5RDE4MkM2QURFMzZENjU4OTBGRTg1RjJCQTJGRjAxOEQ1QTRGRjk1">反对</a></dfn></dd>
</dl></div>
<div style="clear: both;"></div>
<!--呈现评论列表的容器-->
<!--评论列表需要的样式-->
<!--评论列表需要的样式-->
<!--呈现发表评论区域的容器-->
<div id="Ian_PostRemarkArea"><iframe src="10048316775.shtml_files/CSDN_RemarkView.htm" id="REMARK_IFRAME_ID_0" frameborder="0" height="350" scrolling="no" width="100%"></iframe></div>
<!--呈现发表评论区域的容器-->
<h6>热点评论</h6>
<ul id="Ian_RemarkTop"><li><a href="http://remark2.csdn.net/r/decfe161e911484e989ccbd8c4c563f4670.ashx" target="_top">Flex绋嬪簭璁捐
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -