Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Javaでstruts-config.xmlのActionを解析する

2009-03-06 14:51:42 | JavaとWeb

 きのう、Excelでstruts-configのform-beanを解析して、一覧に出すことをしました。
 で、今日は、action

 なのですが、Excelでやるのなら、ただ、form-beanのところを、actionにかえて、
 select caseのところを、actionで表示したい属性にかえる(追加する)だけなので、
 そんなに面白くありません。

 そこで、Javaでactionを解析して、Actionの属性
"name","type","path","input","scope","validate"
をカンマ区切りで順に出すことにしました。

こんなかんじ。

import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;

public class StrutsCheck {

	/*
	 *	Actionタグ内で出力する属性 
	 */
	public static final String[] chkWord = {"name","type","path","input","scope","validate"};
	
	/*
	 * 	セル区切る
	 */
	public static final String	kugiri = ",";

	/*
	 * 	レコード区切り 
	 */
	public static final String	recend	=	"¥r¥n";

	public static void main(String[] args) {
		//	引数チェック
		if ( args.length <	1 )
		{
			System.out.println("引数:struts-config.xmlのパス");
			return;
		}
		
		//	XMLオープン
		DocumentBuilderFactory dbf;
		DocumentBuilder bl;
		Document doc;
		try
		{
			dbf = DocumentBuilderFactory.newInstance();
			bl = dbf.newDocumentBuilder();
			doc = bl.parse(new File(args[0]));
		}
		catch(Exception e)
		{
			e.printStackTrace();
			return;
		}	
		
		// actionをget
		NodeList actionList = doc.getElementsByTagName("action");

		for(int i = 0 ; i < actionList.getLength(); i++)
		{
			//1アクション分処理
			Node action = actionList.item(i);
			NamedNodeMap attr = action.getAttributes();

			Node item = null;
			String val = "";
			for ( int j = 0 ; j < chkWord.length ; j ++ )
			{
				//1アトリビュート分処理			
				item = attr.getNamedItem(chkWord[j]);
				if ( j != 0 )
				{
					System.out.print(kugiri);
				}
				if ( item	!=	null )
				{
					val = item.getNodeValue();
					if ( val	==	null )
						val = "";
					System.out.print(val);
				}
				else
				{
					System.out.print(val);
				}
			} 	
			System.out.print(recend);
		}	
	}
}

(上記< > ¥は、本当は半角です)

起動する時は、
java StrutsCheck C:/temp/struts-config.xml

といったかんじで、引数にstruts-config.xmlがあるパスを指定してください。

ここから先は、気が向いたら・・・

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 「クリックジャッキング」攻... | トップ | 月にロボットを送り込む計画... »
最新の画像もっと見る

JavaとWeb」カテゴリの最新記事