当前位置:  编程技术>WEB前端
本页文章导读:
    ▪Struts2开发,自定义标签的使用——编码自动转化为中文含义      在报表小工具助手中,有一个需求,编码列展现的还是编码,需要转换成对应的中文含义。 有几个思路: 1、直接在页面上进行判断匹配,但这种只适用于很少的编码替换,比如性别这类的。.........
    ▪ASP.NET中 “字符文本中字符太多”错误及解决方法        问题描述     在ASP.NET中使用多层引号,要引起注意,引号使用不当会引起“字符文本中字段太多”编译错误!今天我就遇到了这个错误,整理于此!     “字符文本.........
    ▪SVG脚本编程的一些技巧       1、在IE中如何调试SVG中的脚本 a、去掉IE设置中的“禁止脚本调试” b、打开注册表,找到“[HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings]”,设置"JITDebug"=dword:00000001 c、然后就可以.........

[1]Struts2开发,自定义标签的使用——编码自动转化为中文含义
    来源: 互联网  发布时间: 2013-11-06

在报表小工具助手中,有一个需求,编码列展现的还是编码,需要转换成对应的中文含义。

有几个思路:

1、直接在页面上进行判断匹配,但这种只适用于很少的编码替换,比如性别这类的。

2、想到使用自定义标签,根据自定义的规则,在标签中传入编码值,然后转化为对应的中文含义,这个可能比较通用,所以目前采取的是如此方案。

由于项目采用的是Struts2,所以导入相应的jar包,里面含有标签需要的jar。

代码实例:

1、数据库有一张编码表,关键字段如下:

codeID          codeValue

编码的ID       编码的中文含义

 

2、JSP页面,页面上获取编码ID,需要转换成对应中文

<%@ taglib prefix="lsxy" uri="/lsxy"%>

<lsxy:Desc codeID=‘T101’ />

说明:引入自定义标签lsxy ,将需要转换的编码值传入。

 

3、根据页面自定义标签,定义标签结构文件 lsxy.tld 放于WEB-INF下:

lsxy.tld 内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC
  "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
  "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>
 <tlib-version>2.2.3</tlib-version>
 <jsp-version>1.2</jsp-version>
 <short-name>lsxy</short-name>
 <uri>/lsxy</uri>
 <display-name>"lsxy Tags"</display-name>
 <!-- 编码描述标签:将编码换成对应的中文含义 -->
 <tag>
  <name>Desc</name>
  <tag-class>lsxy.report.taglib.LsxyDescTag</tag-class>
  <body-content>JSP</body-content>
  <attribute>
   <name>codeID</name>
   <required>true</required>
   <rtexprvalue>true</rtexprvalue>
  </attribute>
 </tag>
</taglib>

 

说明:tag-class 说明自定义标签处理的自定义类。

 

4、自定义类 LsxyDescTag.java.

package lsxy.report.taglib;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lsxy.report.service.LsxyDescTagService;
import org.apache.struts2.components.Component;
import org.apache.struts2.views.jsp.ComponentTagSupport;
import com.opensymphony.xwork2.util.ValueStack;

public class LsxyDescTag extends ComponentTagSupport {
 private static final long serialVersionUID = 1L;
 private String codeID;

 public String getCodeID() {
  return codeID;
 }

 public void setCodeID(String codeID) {
  this.codeID = codeID;
 }

 @Override
 public Component getBean(ValueStack valueStack, HttpServletRequest request,
   HttpServletResponse response) {
  return new LsxyDescTagService(valueStack);
 }

 @Override
 protected void populateParams() {
  super.populateParams();
  LsxyDescTagService service = (LsxyDescTagService) getComponent();
  service.setCodeID(getCodeID());
 }

}

 

5、服务处理类:LsxyDescTagService.java:

package lsxy.report.service;

import java.io.Writer;
import lsxy.report.dao.ReportCodeDao;
import org.apache.struts2.components.Component;
import com.opensymphony.xwork2.util.ValueStack;

public class LsxyDescTagService extends Component {
 private String codeID;

 public String getCodeID() {
  return codeID;
 }

 public void setCodeID(String codeID) {
  this.codeID = codeID;
 }

 public LsxyDescTagService(ValueStack stack) {
  super(stack);
 }

 @Override
 public boolean start(Writer writer) {
  ReportCodeDao dao = new ReportCodeDao();
   try {
   writer.write(dao.getCodeDesc(codeID).toString());
  } catch (Exception e) {
   e.printStackTrace();
  }
  return super.start(writer);
 }

}

 

 

 

作者:lsxy117 发表于2013-1-11 10:04:27 原文链接
阅读:0 评论:0 查看评论

    
[2]ASP.NET中 “字符文本中字符太多”错误及解决方法
    来源: 互联网  发布时间: 2013-11-06
  问题描述 
   在ASP.NET中使用多层引号,要引起注意,引号使用不当会引起“字符文本中字段太多”编译错误!今天我就遇到了这个错误,整理于此!
    “字符文本中字段太多”错误提示过于笼统,其实,错误原因很简单,看一下错误源码形式:
"<%=Session['UserName']%>"
    正确形式应当为:
 '<%=Session["UserName"]%>'

   问题起因:HTML中引号多层嵌套问题

      html中的超链接中比如有多层嵌套,很容易产生导致字符串被截取,字符文本中字符太多,等等等等很多问题

    引号嵌套两层时,可以使用转义或者单双引号交替的形式实现,需要注意单双引号位置;当引号嵌套达到三四层的时候,问题就出现了,     

    怎么解决呢?

    举个例子:"javascript:fnabc('nihao("123")')"

     html的href=/blog_article/以上的字符串_/p/index.html>

     那么即使加了转义字符,以上的字符串还是会被截取为"javascript:fnabc('nihao("

     解决的方法是使用 &quot; 代替引号

    "javascript:fnabc('abcd(&quot;123&quot;)')"



    
作者:mazhaojuan 发表于2013-1-11 10:01:24 原文链接
阅读:6 评论:0 查看评论

    
[3]SVG脚本编程的一些技巧
    来源: 互联网  发布时间: 2013-11-06

1、在IE中如何调试SVG中的脚本

a、去掉IE设置中的“禁止脚本调试”

b、打开注册表,找到“[HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings]”,设置"JITDebug"=dword:00000001

c、然后就可以用vs.net来进行调试了

2、解决IE中需要点击才能激活svg插件的问题

编写一个脚本文件(embed.js),在脚本文件中写下如下代码:

document.write("<embed id='mapObject' type='image/svg-xml' src='/blog_article/map.svg' height='100%' width='100%' />");

在html代码中,插入SVG插件的代码这样写:

<div>
<script src=/blog_article/"/js/embed/index.html .js" language="javascript"></script>
</div>

3、在SVG embed上绘制HTML元素

设置embed元素的“wmode”属性的值为“transparent”

4、矩阵变化参数(transform="matrix(a,b,c,d,e,f)")

平移变换(translate) : (1,0,0,1,tx,ty)

伸缩变换(scale) : (sx,0,0,sy,0,0)

旋转变换(rotate) : (cos(a),sin(a),-sin(a),cos(a),0,0),a是旋转的角度

X轴歪斜变换(skewX): (1,0,tan(a),1,0,0),a是歪斜的角度

Y轴歪斜变换(skewY): (1,tan(a),0,1,0,0),a是歪斜的角度

5、中文字体对应的英文名称

English Name Localized Name
SimSun 宋体
SimHei 黑体
FangSong_GB2312 仿宋_GB2312
KaiTi_GB2312 楷体_GB2312
YouYuan 幼圆
STSong 华文宋体
STZhongsong 华文中宋
STKaiti 华文楷体
STFangsong 华文仿宋
STXihei 华文细黑
STLiti 华文隶书
STXingkai 华文行楷
STXinwei 华文新魏
STHupo 华文琥珀
STCaiyun 华文彩云
FZYaoTi 方正姚体简体
FZShuTi 方正舒体简体
NSimSun 新宋体
LiSu 隶书

6、判断鼠标事件来源
在SVG中会经常遇到判断鼠标事件来源的问题,比如:鼠标单击或者双击、滚轮事件等等。这里做一个简单的

介绍。

判断鼠标是左键还是右键?
在onclick事件中,if(evt.button==0)则为左击,否则为右击
无论单击还是双击evt.detail==1
判断鼠标是单击还是双击?
在onclick事件中,if(evt.detail==2)则为双击,否则为单击
判断鼠标的滚轮事件?

function mousewheel()
{
origscale=root.currentScale;
origscale +=event.wheelDelta / 1200;
if (origscale > 0)
{
root.currentScale=origscale;
root.currentTranslate.x=midx*root.currentScale+event.offsetX*(1-root.currentScale/midscale);
root.currentTranslate.y=midy*root.currentScale+event.offsetY*(1-root.currentScale/midscale);

midscale=root.currentScale;
midx=root.currentTranslate.x/root.currentScale;
midy=root.currentTranslate.y/root.currentScale;
}
}

作者:luqin1988 发表于2013-1-11 11:31:27 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3