当前位置: 首页 > news >正文

dw做asp购物网站/b2b平台是什么意思

dw做asp购物网站,b2b平台是什么意思,如何创建网站内容,商洛网站建设vaniglia 是一个开源的java工具库,下的版本大概1.7万,学习一下。 一. XML文件操作 封装org.w3c.dom.* 工具类,主要提供下面几个方法: public synchronized final Document getDocument(String fileName) 将xml文件转换为Docume…

vaniglia 是一个开源的java工具库,下的版本大概1.7万,学习一下。

一. XML文件操作

封装org.w3c.dom.* 工具类,主要提供下面几个方法:

  • public synchronized final Document getDocument(String fileName) 将xml文件转换为Document对象;
  • public final void storeDocumentToFile(Document document, String fileName) 把Document对象转换成文件;
  • public XMLUtilities() 初始化documentBuilder:
    public XMLUtilities() {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();dbf.setNamespaceAware(true);dbf.setValidating(false);dbf.setIgnoringComments(true);try {db = dbf.newDocumentBuilder();} catch (ParserConfigurationException e) {logger.fatal("Unable to create a DocumentBuilder");System.exit(-1);}db.setErrorHandler(errorHandler);}

注:在xml文件中如果出现异常的空格、换行,可能导致#text的错误节点。

二.TextTable 支持在控制台打印一个表

效果如下:

Non Adaptive Text Tablename   address               zip  
------------------------------------pippo  via due               100  aa    diecicarat              2  via qualtu              8  noadr                        188  bbb   piudidiecicaratterid   20  cccc   this element has not  100  pluto  this element has not  130  ffff   this element has not   10 

代码实现主要是TextTable,该类的两个主要方法分别是columns和elements,一个存储列信息,一个存储表内的元素

public class TextTable {//略private TableColumn[] columns; //列信息private Vector elements; //表内的元素

其中TableColume中包含,它只是列的定义信息,本身并不包含数据。数据在elements中。

public class TableColumn {private String name = "";private int minWidth;private int width;private Align alignment; //当前只支持三列,即左、中、右

三.对TextTable的操作如下:

public class App {public static void main(String[] args) {{System.out.println("Non Adaptive Text Table");System.out.println();TextTable table = new TextTable(new TableColumn[] {new TableColumn("name", 5, Align.CENTER),new TableColumn("address", 20, Align.LEFT),new TableColumn("zip", 3, Align.RIGHT)},2, false);table.addElement(new String[] {"pippo", "via due", "100"});table.addElement(new String[] {"aa", "diecicarat", "2"});table.addElement(new String[] {"", "via qualtu", "8"});table.addElement(new String[] {"noadr", "", "1888"});table.addElement(new String[] {"bbb", "piudidiecicaratteridisicuro", "20"});table.print(System.out);

 三.模板引擎,类似于jsp、struts2中的变量标签,如下例:

   public static void main(String[] args) throws IOException {String template = "<html><head><title>$title</title></head>\n"+"<body style=\"background-color: rgb(202, 227, 255); visibility: visible;\">\n"+"<b>Dear $name</b>\n"+"<p>\n"+"how is going? Is a long time we don't see. Last time was $lasttime\n"+"I hope you can join us for my party that is scheduled for $party.\n"+"</p>\n"+"<p>\n"+"Best Regards,<br/>\n"+"&nbsp;&nbsp;&nbsp;<i>Michele</i>\n"+"</body></html>\n";ContextMap context = new ContextMap();context.put("title", "Page Title");context.put("name", "Luca");context.put("lasttime", "10/05/2005");context.put("party", "20/07/2005");context.put("static", "TemplateEngine.merge static");TemplateEngine templateEngine = new TemplateEngine(template);templateEngine.merge(context, new PrintWriter(System.out));

上例中$打头的变量将会被新的字符串替换,该特性实现主要分以下几个部分:

1. 定义一个ContextMap,维护一个hash表记录字符串和被替换字符串的映射关系;

2. 实现核心类TemplateEngine,其中重要的是:

  • 成员ReferenceElement[] references,记录每个替换引用的值和在模板中的位置
  • init方法,在构造函数时被调用,遍历模板并记录相应的替换项至references;
  • merge方法,业务方法,遍历模板并将ContextMap中值替换到references中去;
int tokenEnd = findTokenEndIndex(template, tokenBegin+1);String key = template.substring(tokenBegin+1, tokenEnd);
String value = context.get(key);
if (value != null) {writer.write(value);
}
else {writer.write(token);writer.write(key);
}
start = tokenEnd;
    private static int findTokenEndIndex(String template, int startindex) {int currentindex = startindex;char current;while (currentindex < template.length()){current = template.charAt(currentindex);if ((current >= '0' && current <='9') ||(current >= 'A' && current <= 'Z') ||(current >= 'a' && current <= 'z') ||(current == '_') || (current == '-')) {currentindex++;}else {break;}}return currentindex;}

 

 

http://www.lbrq.cn/news/1582921.html

相关文章:

  • 广州网站建设中心/友情链接交换统计表
  • 做网站费用怎么付/企业策划书
  • 购物网站推广怎么做/nba西部最新排名
  • seo做的最好的网站/南宁seo网络优化公司
  • 罗湖网站建设 信科网络/河南网站建站推广
  • 新闻网站开发书籍/无锡seo关键词排名
  • wordpress设置多站点/重庆seo公司排名
  • 广元专业高端网站建设/百度提交网站
  • mvc5 网站开发美學 pdf/小吃培训
  • 零基础电商怎么做/seo指的是搜索引擎营销
  • 建设博客网站步骤/福州网站建设团队
  • json做网站/seo的内容主要有哪些方面
  • 长春电商网站建设哪家专业/厦门谷歌seo
  • 免费网站无需下载直接观看/东莞seo建站优化哪里好
  • 培训美工设计师/安卓排名优化
  • 网站建设年度总结/网站交易
  • 湖北网页设计师培训/免费seo关键词优化方案
  • asp网站建设教程/点石关键词排名优化软件
  • 学做网站的网站/浙江网络科技有限公司
  • wap网站空间/智慧营销系统平台
  • 个人做同城网站赚钱吗/百度一下一下你就知道
  • 河南网站建设服务/杭州网站建设方案优化
  • 哪个网站做自行车评测的/适合发表个人文章的平台
  • 怎么做网站劳务中介/b2b网站大全免费推广
  • 著名网站织梦/seo优化包括哪些内容
  • 个人备案 网站名称 例子/湖人今日排名最新
  • 科技公司手机网站/新媒体口碑营销案例
  • 换服务器wordpress升级/线下课程seo
  • 怎样php网站建设/2024年新闻摘抄十条
  • 做微信网站价格/网站推广基本方法是
  • 【工具】Python多环境管理
  • 【Git】Visual Studio 实现合并分支
  • Linux 内核发包流程与路由控制实战
  • PyQt简介
  • apache cgi测试
  • Money Sums