??xml version="1.0" encoding="utf-8" standalone="yes"?>国产视色精品亚洲一区二区,人体精品一二三区,51ⅴ精品国产91久久久久久http://www.aygfsteel.com/os586/category/19878.html态度军_一切,思想军_\zh-cnTue, 27 Feb 2007 12:06:08 GMTTue, 27 Feb 2007 12:06:08 GMT60Struts ?html:options 的?/title><link>http://www.aygfsteel.com/os586/archive/2007/02/11/99306.html</link><dc:creator>水煮三国</dc:creator><author>水煮三国</author><pubDate>Sun, 11 Feb 2007 14:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/os586/archive/2007/02/11/99306.html</guid><wfw:comment>http://www.aygfsteel.com/os586/comments/99306.html</wfw:comment><comments>http://www.aygfsteel.com/os586/archive/2007/02/11/99306.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/os586/comments/commentRss/99306.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/os586/services/trackbacks/99306.html</trackback:ping><description><![CDATA[  html:options是Struts中比较复杂的一个tage libQ用法灵z,但是Sturts提供的源码exercise taglib中没有提出常用jsp+ActionFormq样形式的最直接的ȝQ现从中ȝ如下Q分两种情况Q数l和Collection?br />  <br />  需求,要达刎ͼ<br />  <select name="beanCollectionSelect" multiple="multiple" size="10"><br />  <option value="value 0">Label 0</option><br />  <option value="value 1" selected="selected">Label 1</option><br />  <option value="value 2">Label 2</option><br />  <option value="value 3" selected="selected">Label 3</option><br />  <option value="value 4">Label 4</option><br />  <option value="value 5" selected="selected">Label 5</option><br />  <option value="value 6">Label 6</option><br />  <option value="value 7">Label 7</option><br />  <option value="value 8">Label 8</option><br />  <option value="value 9">Label 9</option></select><br />  <br />  要实Cq效果,需要两步:<br />  W一Q设|ActionFormQ?br />  也分两小步:W一步必须在ActionForm中,有一?br />  private Collection beanCollection;<br />  public Collection getBeanCollection();<br />  <br />  Collection beanCollection要确保是一个实玎ͼ如ArrayListQ如果不是则会报No collection found的错误,Struts的最大不方便是一旦出问题Q定位很难,不知道什么地方用错误,或忘记设|什么了?br />  <br />  因ؓ前面需求中option的value值和labelg一P那么在beanCollection中保存的是一个value和labell成的对象,名ؓLabelvalueBeanQ在LabelvalueBean中有两个属性value和labelQ?br />  <br />  在程序某个地方要为beanCollection赋|如:<br />  <br />  Vector entries = new Vector(10);  <br />  entries.add(new LabelvalueBean("Label 0", "value 0"));     <br />  entries.add(new LabelvalueBean("Label 1", "value 1"));     <br />  entries.add(new LabelvalueBean("Label 2", "value 2"));     <br />  entries.add(new LabelvalueBean("Label 3", "value 3"));     <br />  entries.add(new LabelvalueBean("Label 4", "value 4"));      <br />  entries.add(new LabelvalueBean("Label 5", "value 5"));      <br />   entries.add(new LabelvalueBean("Label 6", "value 6"));      <br />  entries.add(new LabelvalueBean("Label 7", "value 7"));      <br />  entries.add(new LabelvalueBean("Label 8", "value 8"));      <br />  entries.add(new LabelvalueBean("Label 9", "value 9"));<br />  <br />  然后执行setBeanCollection(entries);<br />  q样ActionForm中的beanCollection有g?br />  W二步Q需要设|SelectedQselected有两U,单选和多选:<br />  在ActionForm中必LQ?br />  <br />  private String singleSelect = "Single 5";  <br />  public String getSingleSelect()<br />   {<br />     return (this.singleSelect);<br />    }  <br />  public void setSingleSelect(String singleSelect)<br />   {<br />     this.singleSelect = singleSelect;<br />    }<br />  <br />  或多选,多选必L数组Q?br />  <br />  private String[] beanCollectionSelect = { "value 1", "value 3",<br />                         "value 5" }; <br />  public String[] getBeanCollectionSelect() {<br />    return (this.beanCollectionSelect);  }<br />    public void setBeanCollectionSelect(String beanCollectionSelect[])<br />   {<br />      this.beanCollectionSelect = beanCollectionSelect;<br />    }<br />  <br />  W二Q在Jsp中写入tang lib语句如下Q?br />  <br />  <html:select property="beanCollectionSelect" size="10" multiple="true"><br />      <html:optionsCollection name="testbean" property="beanCollection"/>  <br />   </html:select><br />  <br />  其中testbean是ActionForm的名U?br />  <br />  以上是html:options的Collection解决ҎQ如果option值很,单地可以实现为数l,两步Q?br />  W一Q在ActionForm中,<br />  <br />  private String values[] =<br />     { "Magazine", "Journal", "News Paper","Other" };  <br />  private String labels[] =<br />     { "L-Magazine", "L-Journal", "L-News Paper","L-Other"};<br />    private String selected = "Magazine";  <br />  public String getSelected()<br />  {<br />     return selected;<br />    }  <br />  public void setSelected(String selected)<br />  {<br />     this.selected = selected;<br />    }  <br />  public String[] getvalues()<br />  {<br />     return values;<br />    }  <br />  public void setvalues(String[] values)<br />  {   this.values = values;<br />    }  <br />  public String[] getLabels()<br />  {<br />     return values;<br />    }  <br />  public void setLabels(String[] labels)<br />  {<br />     this.labels = labels;<br />    }<br />  <br />  W二步在jsp中:<br />  <br />  <html:select property="selected" >      <br />  <html:options name="testbean" property="values" labelProperty="label"/>   </html:select><br />  <br />  Struts标签库的使用q是需要小心,不必完全使用Struts的标{ֺQ个人感觉Strutsq种替代Html语句的标{ֺ有一U牵强附会,l用者掌握带来难度,使用者除熟悉html外,q必ȝ解Struts的对应标{ֺ用法Q而且q种调试出错Q问题也无法准确定位QL抽象地告诉你Qno bean 或no form<img src ="http://www.aygfsteel.com/os586/aggbug/99306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/os586/" target="_blank">水煮三国</a> 2007-02-11 22:03 <a href="http://www.aygfsteel.com/os586/archive/2007/02/11/99306.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Struts的Token机制解决表单重复提交http://www.aygfsteel.com/os586/archive/2007/02/11/99305.html水煮三国水煮三国Sun, 11 Feb 2007 14:00:00 GMThttp://www.aygfsteel.com/os586/archive/2007/02/11/99305.htmlhttp://www.aygfsteel.com/os586/comments/99305.htmlhttp://www.aygfsteel.com/os586/archive/2007/02/11/99305.html#Feedback0http://www.aygfsteel.com/os586/comments/commentRss/99305.htmlhttp://www.aygfsteel.com/os586/services/trackbacks/99305.html  
  q时其实也就是两点,W一Q你需要在h中有q个令牌|h中的令牌值如何保存,其实和我们qx在页面中保存一些信息是一LQ通过隐藏字段来保存,保存的Ş式如Q?〈input type="hidden" name="org.apache.  
  在Action中的addҎ中,我们需要将Token值明的要求保存在页面中Q只需增加一条语句:saveToken(request);Q如下所C:
  
  public ActionForward add(ActionMapping mapping, ActionForm form,
  
  HttpServletRequest request, HttpServletResponse response)
  
  //前面的处理省?br />  
  saveToken(request);
  
  return mapping.findForward("add");
  
  }在Action的insertҎ中,我们Ҏ表单中的Tokeng服务器端的Token值比较,如下所C:
  
  public ActionForward insert(ActionMapping mapping, ActionForm form,
  
  HttpServletRequest request, HttpServletResponse response)
  
  if (isTokenValid(request, true)) {
  
  // 表单不是重复提交
  
  //q里是保存数据的代码
  
  } else {
  
  //表单重复提交
  
  saveToken(request);
  
  //其它的处理代?br />  
  }
  
  }
  
  其实使用h很简单,举个最单、最需要用这个的例子Q?br />  
  一般控刉复提交主要是用在Ҏ据库操作的控制上Q比如插入、更新、删除等Q由于更新、删除一般都是通过id来操作(例如QupdateXXXById, removeXXXByIdQ,所以这cL作控制的意义不是很大Q不排除个别现象Q,重复提交的控制也׃要是在插入时的控制了?br />  
  先说一下,我们目前所做项目的情况Q?br />  
  目前的项目是用StrutsQSpringQIbatisQ页面用
jstlQStruts复杂View层,Spring在Service层提供事务控ӞIbatis是用来代?a >JDBCQ所有页面的讉K都不是直接访问jspQ而是讉KStructs的ActionQ再由Action来ForwardC个JspQ所有针Ҏ据库的操作,比如取数据或修改数据Q都是在Action里面完成Q所有的Action一般都l承BaseDispatchActionQ这个是自己建立的类Q目的是为所有的Action做一些统一的控Ӟ在Struts层,对于一个功能,我们一般分Z个ActionQ一个Action里的功能是不需要调用Struts的验证功能的Q常见的Ҏ名称有add,edit,remove,view,listQ,另一个是需要调用Struts的验证功能的Q常见的Ҏ名称有insert,updateQ?br />  
  拿论坛发脓来说吧,论坛发脓首先需要蟩转到一个页面,你可以填写帖子的主题和内容,填写完后Q单几Z提交”,贴子发表了Q所以这里经q两个步骤:
  
  1、{C个新增的面Q在Action里我们一般称为addQ例如:
  
  public ActionForward add(ActionMapping mapping, ActionForm form,
  
  HttpServletRequest request, HttpServletResponse response)
  
  throws Exception {
  
  //q一句是输出调试信息Q表CZ码执行到q一D了
  
  log.debug(":: action - subject add");
  
  //your code here
  
  //q里保存Token?br />  
  saveToken(request);
  
  //跌{到add面Q在Structs-config.xml里面定义Q例如,跌{到subjectAdd.jsp
  
  return mapping.findForward("add");
  
  }
  
  2、在填写标题和内容后Q选择 提交 Q会提交到insertҎQ在insertҎ里判断,是否重复提交了?br />  
  public ActionForward insert(ActionMapping mapping, ActionForm form,
  
  HttpServletRequest request, HttpServletResponse response){
  
  if (isTokenValid(request, true)) {
  
  // 表单不是重复提交
  
  //q里是保存数据的代码
  
  } else {
  
  //表单重复提交
  
  saveToken(request);
  
  //其它的处理代?br />  
  }
  
  }
  
  下面更详l一点(注意Q下面所有的代码使用全角括号Q:
  
  1、你惛_贴时Q点几Z我要发贴”链接的代码可以里这LQ?br />  
  〈html:link action="subject.do?method=add"〉我要发贴?html:link?br />  
  subject.do ?method q些在struct-config.xml如何定义我就不说了,点击链接后,会执行subject.do的addҎQ代码如上面说的Q蟩转到subjectAdd.jsp面。页面的代码大概如下Q?br />  
  〈html:form action="subjectForm.do?method=insert"?br />  
  〈html:text property="title" /?br />  
  〈html:textarea property="content" /?br />  
  〈html:submit property="发表" /?br />  
  〈html:reset property="重填" /?br />  
  〈html:form?br />  
  如果你在addҎ里加了“saveToken(request);”这一句,那在subjectAdd.jsp生成的页面上Q会多一个隐藏字D,cM于这栗input type="hidden" name="org.apache.  
  2、点d表后Q表单提交到subjectForm.do里的insertҎ后,你在insertҎ里要表单的数据插入到数据库中,如果没有q行重复提交的控Ӟ那么每点Mơ浏览器的刷新按钮,都会在数据库中插入一条相同的记录Q增加下面的代码Q你可以控制用L重复提交了?br />  
  if (isTokenValid(request, true)) {
  
  // 表单不是重复提交
  
  //q里是保存数据的代码
  
  } else {
  
  //表单重复提交
  
  saveToken(request);
  
  //其它的处理代?br />  
  }
  
  注意Q你必须在addҎ里用了saveToken(request)Q你才能在insert里判断,否则Q你每次保存操作都是重复提交?br />  
  C一点,Struts在你每次讉KAction的时候,都会产生一个o牌,保存在你的Session里面Q如果你在Action里的函数里面Q用了saveToken(request);Q那么这个o牌也会保存在q个Action所Forward到的jsp所生成的静态页面里?br />  
  如果你在你Action的方法里使用了isTokenValidQ那么Struts会将你从你的request里面去获取这个o牌|然后和Session里的令牌值做比较Q如果两者相{,׃是重复提交,如果不相{,是重复提交了?br />  
  ׃我们目的所有Action都是l承自BaseDispatchActionq个c,所以我们基本上都是在这个类里面做了表单重复提交的控Ӟ默认是控制addҎ和insertҎQ如果需要控制其它的ҎQ就自己手动写上面这些代码,否则是不需要手写的Q控制的代码如下Q?br />  
  public abstract class BaseDispatchAction extends BaseAction {
  
  protected ActionForward perform(ActionMapping mapping, ActionForm form,
  
  HttpServletRequest request, HttpServletResponse response)
  
  throws Exception {
  
  String parameter = mapping.getParameter();
  
  String name = request.getParameter(parameter);
  
  if (null == name) { //如果没有指定 method Q则默认?list
  
  name = "list";
  
  }
  
  if ("add".equals(name)) {
  
  if ("add".equals(name)) {
  
  saveToken(request);
  
  }
  
  } else if ("insert".equals(name)) {
  
  if (!isTokenValid(request, true)) {
  
  resetToken(request);
  
  saveError(request, new ActionMessage("error.repeatSubmit"));
  
  log.error("重复提交Q?);
  
  return mapping.findForward("error");
  
  }
  
  }
  
  return dispatchMethod2(mapping, form, request, response, name);
  
  }
  
  }


水煮三国 2007-02-11 22:00 发表评论
]]>
让dreamweaver 支持Struts标签?/title><link>http://www.aygfsteel.com/os586/archive/2007/02/08/98722.html</link><dc:creator>水煮三国</dc:creator><author>水煮三国</author><pubDate>Thu, 08 Feb 2007 05:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/os586/archive/2007/02/08/98722.html</guid><wfw:comment>http://www.aygfsteel.com/os586/comments/98722.html</wfw:comment><comments>http://www.aygfsteel.com/os586/archive/2007/02/08/98722.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/os586/comments/commentRss/98722.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/os586/services/trackbacks/98722.html</trackback:ping><description><![CDATA[我经怋用dreameweaver来编辑网?所见即所?<br /><br />但是该Y件对struts标签不支?因此<br /><br />可以?a >http://www.cnblogs.com/Files/bjzhanghao/ast-03.zip</a>下蝲该Y件的插g,用来支持Struts.<br /><br />下蝲后用dreamweaver的插件管理器来打开.mpx文g,卛_使用?<br /><br /><br /><br />不过我安装后没有扑ֈq个插g的用菜?<br /><br />最后我在编辑菜单的标签库当中把相关?tld文g导入后即可以使用?<br /><br />大家有没有用过q个插g?<br /><br /><br /><br />q样?标签的提C功能也不错?<br /><img src ="http://www.aygfsteel.com/os586/aggbug/98722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/os586/" target="_blank">水煮三国</a> 2007-02-08 13:23 <a href="http://www.aygfsteel.com/os586/archive/2007/02/08/98722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts常见错误及原因分?/title><link>http://www.aygfsteel.com/os586/archive/2007/02/08/98694.html</link><dc:creator>水煮三国</dc:creator><author>水煮三国</author><pubDate>Thu, 08 Feb 2007 03:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/os586/archive/2007/02/08/98694.html</guid><wfw:comment>http://www.aygfsteel.com/os586/comments/98694.html</wfw:comment><comments>http://www.aygfsteel.com/os586/archive/2007/02/08/98694.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/os586/comments/commentRss/98694.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/os586/services/trackbacks/98694.html</trackback:ping><description><![CDATA[ <p style="TEXT-INDENT: 2em"> <strong>1异常</strong> <br />javax.servlet.jsp.JspException:Cannotretrievemappingforaction/LoginQ?Login是你的action名字Q?/p> <p style="TEXT-INDENT: 2em">可能原因:action没有再struts-config.xml中定义,或没有找到匹配的actionQ例如在JSP文g中?</p> <p style="TEXT-INDENT: 2em">处理:如果出现上述异常Q请查看struts-config.xml中的定义部分Q有时可能是打错了字W或者是某些不符合规则,可以使用strutsconsole工具来检查?/p> <p style="TEXT-INDENT: 2em"> <strong>2异常</strong> <br />org.apache.jasper.JasperException:Cannotretrievedefinitionforformbeannull</p> <p style="TEXT-INDENT: 2em">可能原因:q个异常是因为StrutsҎstruts-config.xml中的mapping没有扑ֈaction期望的formbean。大部分的情况可能是因ؓ在form-bean中设|的name属性和action中设|的name属性不匚w所致。换句话_action和form都应该各自有一个name属性,q且要精匹配,包括大小写。这个错误当没有name属性和action兌时也会发生,如果没有在action中指定name属性,那么没有name属性和action相关联。当然当action制作某些控制Ӟ譬如Ҏ参数D转到相应的jsp面Q而不是处理表单数据,q是׃用name属性,q也是action的用方法之一?/p> <p style="TEXT-INDENT: 2em"> <strong>3异常</strong> <br />Noactioninstanceforpath/xxxxcouldbecreated</p> <p style="TEXT-INDENT: 2em">可能原因</p> <p style="TEXT-INDENT: 2em">特别提示Q因为有很多中情况会Dq个错误的发生,所以推荐大家调高你的web服务器的日志/调试U别Q这样可以从更多的信息中看到潜在的、在试图创徏actioncL发生的错误,q个actioncM已经在struts-config.xml中设|了兌Q即d?action></action>标签Q?/p> <p style="TEXT-INDENT: 2em">在struts-config.xml中通过action标签的class属性指定的actioncM能被扑ֈ有很多种原因Q例如:</p> <p style="TEXT-INDENT: 2em">定位~译后的.class文gp|。Failuretoplacecompiled.classfilefortheactionintheclasspath(在web开发中Qclass的的位置在rWEB-INF/classesQ所以你的actionclass必须要在q个目录下。例如你的actioncM于WEB-INF/classes/action/Login.class,那么在struts-config.xml中设|action的属性type时就是action.Login).</p> <p style="TEXT-INDENT: 2em">拼写错误Q这个也时有发生Qƈ且不易找刎ͼ特别注意W一个字母的大小写和包的名称?/p> <p style="TEXT-INDENT: 2em">在struts-config.xml中指定的actioncL有承自Stuts的Actionc,或者你自定义的ActioncL有承自Struts提供的ActioncR?/p> <p style="TEXT-INDENT: 2em">你的actioncdȝ承自Struts提供的ActioncR?/p> <p style="TEXT-INDENT: 2em">你的classpath的问题。例如webserver没有发现你的资源文gQ资源文件必dWEB-INF/classes/目录下?/p> <p style="TEXT-INDENT: 2em"> <strong>4异常</strong> <br />javax.servlet.jsp.JspException:Nogettermethodforpropertyusernameofbeanorg.apache.struts.taglib.html.BEAN</p> <p style="TEXT-INDENT: 2em">可能原因</p> <p style="TEXT-INDENT: 2em">没有位formbean中的某个变量定义getterҎ</p> <p style="TEXT-INDENT: 2em">q个错误主要发生在表单提交的FormBean中,用struts标记</p> <p style="TEXT-INDENT: 2em">5Exceptionjavax.servlet.jsp.JspException:CannotfindActionMappingsorActionFormBeanscollection</p> <p style="TEXT-INDENT: 2em">可能原因</p> <p style="TEXT-INDENT: 2em">不是标识StrutsactionServlet?servlet></servlet>标记是映射.do扩展名的<sevlet-mapping></sevlet-mapping>标记或者两者都没有在web.xml中声明?/p> <p style="TEXT-INDENT: 2em">在struts-config.xml中的打字或者拼写错误也可导致这个异常的发生。例如缺一个标记的关闭W号/>。最好用strutsconsole工具查一下?/p> <p style="TEXT-INDENT: 2em">另外Qload-on-startup必须在web.xml中声明,q要么是一个空标记Q要么指定一个数|q个数值用来表servletq行的优先Q数D大优先񔭑低?/p> <p style="TEXT-INDENT: 2em">q有一个和使用load-on-startup有关的是使用Struts预编译JSP文g时也可能Dq个异常?/p> <p style="TEXT-INDENT: 2em">6Exception</p> <p style="TEXT-INDENT: 2em">javax.servlet.jsp.JspException:Cannotfindbeanorg.apache.struts.taglib.html.BEANinanyscope</p> <p style="TEXT-INDENT: 2em">ProbableCauses</p> <p style="TEXT-INDENT: 2em">试图在Struts的form标记外用form的子元素。这常常发生在你?/p> <p style="TEXT-INDENT: 2em">后面使用Struts的html标记?/p> <p style="TEXT-INDENT: 2em">另外要注意可能你不经意用的无主体的标记Q如Q这样web服务器解析时当作一个无M的标讎ͼ随后使用的所有标记都被认为是在这个标C外的Q如又用了</p> <p style="TEXT-INDENT: 2em">q有是在用taglib引入HTML标记库时Q你使用的prefix的g是html?/p> <img src ="http://www.aygfsteel.com/os586/aggbug/98694.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/os586/" target="_blank">水煮三国</a> 2007-02-08 11:14 <a href="http://www.aygfsteel.com/os586/archive/2007/02/08/98694.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank">⴨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯʨ</a>| <a href="http://" target="_blank">ӱʡ</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ҧ</a>| <a href="http://" target="_blank">ͭ</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">н</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">ˮ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>