Java2HTML改造手記(4) (轉)

amyz發表於2007-11-13
Java2HTML改造手記(4) (轉)[@more@]

2HTML改造手記(4)

:namespace prefix = o ns = "urn:schemas--com::office" />

原來這是一個判斷當前引數的方法:

if(O02.length == 0 || O06(new String[] {

  "help", "h", "?", "/?"

}))

  {

  System.out.println(O07.O08);

  return false;

  }

這一段是幫助,既然我們要修改,那麼先把幫助系統處理了.就當我們們肯定能把這個修改成功完成.

目標鎖定O07.O08(這是一個final static String):

  public O07()

  {

  }

  static

  {

  O0995 = System.getProperty("line.separator");

  if(O0995 == null)

  {

  System.out.println("Warning:System Property line.separator not definedn");

  O0995 = "rn";

  }

  O0997 = "Copyright (c) 2000- Polygon Enterprises." + O0995 + "New Versions available from " + O0995 + "(type j2h with no arguments to get help)";

  O08 = O0995 + "Usage: [j2h|java j2h|java -jar j2h.jar][options]"

  + O0995 + "-d   Destination output directory"

  + O0995 + "-  Java Source directory"

  + O0995 + "-jd [_reference]  JavaDoc Source directory"

  + O0995 + "-m   Margin Size (with Line Numbers)"

  + O0995 + "-t   Tab size"

  + O0995 + "-n   Title Name"

  + O0995 + "-nh  Prevents the header from being displayed"

    + O0995 + "-nf  Prevents the footer from being displayed"

  //我在這裡新增了encoding的幫助資訊

  + O0995 +"-encoding  set the html "charset""

  +O0995 + "-s  Simple output, just include the Java source and stylesheet.files"

  + O0995 + "-h (or no arguments)  This Help" + O0995

  + O0995 + "Edit generated stylesheet.css file to change colours & styles"

  + O0995 + "View generated index.html in browser to see results after running"

  + O0995;

  }

現在使用java2html的時候已經有了對encoding的幫助資訊了.

String as2[] = O010(new String[] {"javasource", "js"}, false, -1);

幫助資訊後我們看到了類似這樣的方法,看來這是判斷引數內容的方法了

private String[] O010(String as[], boolean flag, int i)

  throws BadOptionException

  {

  int j = 0;

  int k = 0;

  Vector vector = new Vector();

  for(; j < O02.length; j++)

  {

  for(int l = 0; l < as.length; l++)

  {

  if(!O02[j].equalsIgnoreCase("-" + as[l]))

  {

  continue;

  }

  O03[j] = true;

   j++;

  if(k == i)

  {

  throw new BadOptionException(as[0] + " should only be set " + i + " time(s)");

  }

  if(j >= O02.length)

  {

  throw new BadOptionException("Value not set for " + as[0]);

  }

  O03[j] = true;

  vector.addElement(O02[j]);

  k++;

  break;

  }

  }

  if(flag && k == 0)

  {

   throw new BadOptionException(as[0] + " needs to be set");

  } else

  {

  return O026(vector);

  }

  }

原來這個方法是把送進來的引數(as)和java2html預設的引數比較,如果是java2html的引數那麼把使用者的引數取值.

我們先把我們們的引數新增上吧.

//新增我們自定義的引數

  String as3[] = O010(new String[] {

  "encoding", "encoding"

  }, false, -1);

//同樣依葫蘆畫瓢

  if(as3.length > 0)

  {

  java2html.setEncoding(as3[0]);

  }

這樣使用者的引數就送進了as[]了.

不過現在java2html中並沒有setEncoding方法.我們的新增一個.

回到java2html.java中新增:

//我在這裡設定了預設的字元編碼,因為utf-8基本上支援所有的字元編碼.

private String encoding="UTF-8";

//新增一個新方法

  public void setEncoding(String strEncoding){

    encoding=strEncoding;

}

這樣,使用者的引數就已經送到java2html類中了.

欲知後事如何,且聽下回分解.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982060/,如需轉載,請註明出處,否則將追究法律責任。

相關文章