- ベストアンサー
JSPファイルに書いたの各タグ情報を拾うには?
JSPファイルの中に書いたHTMLやカスタムタグの情報を拾って テキストファイルに書き込みたいと思っています。 実際にやりたいことは、<INPUT>タグや、カスタムタグ<hoge>に付与した、 name属性の値を列挙したいという様な内容です。 例)JSPファイルに以下の様な入力項目を記述 <INPUT type="text" name="hoge1" value="10"> <INPUT type="text" name="hoge2" value="10"> : ↓ テキストファイルに hoge1 hoge2 : テキストファイルに書き出すという部分は分かりますが、JSPファイルから 各タグを判別し、その中のname属性の値を取得する・・・という部分が どうやってやろうかと困っています。 XMLのパーサを利用して・・・と考えたりもしましたが、HTMLの各タグは エンドタグが決まって記述されている訳ではないため、利用出来ないかも? と思っています。 何か良いものがあればと思っていますが、見つけられず、通常にファイルを オープンして入力項目タグがあるかどうか、ひとつずつ調べるという方法しか 思い付いていません。 もし何か良い方法があれば是非教えて下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
全角スペースを取り除いて使用してください。 String strin = "入力ファイル"; Pattern pattern = Pattern.compile("<INPUT.*?(?:name\\s*=\\s*\"(.*?)\").*?>", Pattern.CASE_INSENSITIVE|Pattern.DOTALL|Pattern.MULTILINE); Matcher matcher = pattern.matcher(strin); while(matcher.find()){ System.out.println(matcher.group(1)); }
その他の回答 (1)
- _ranco_
- ベストアンサー率58% (126/214)
そのJSPファイルがお手元にローカルにある、書き方も一定である、ということなら、「name属性の値を取得する」は、Javaの正規表現プログラミングの初心者練習課題としてちょうど良いと思います。私はあえてここにコードサンプルを書きませんから、ぜひご自分で挑戦してみてください。
お礼
正規表現で行えばいいんですね。ありがとうございます。 また、参考のURLをありがとうございました。 早速勉強して、ある程度の判定が行える様になりました。
お礼
コーディング例を掲載していただき、ありがとうございました。 私自身、勉強して一度作ってみましたが・・・こちらの方がとても スマートになっているので、もっと勉強が必要だと痛感しました。 他にも正規表現を利用して色々とやってみたいことがあるので、 参考にさせていただきます。