Text Formatter


$B%i%$%V%i%j$N%Z!<%8(B
ダウンロード

$B35MW(B

$B%F%s%W%l!<%HCf$NFCDj2U=j$r%W%m%0%i%^$,M?$($?(B Map$B$K$7$?$,$C$FCV49$7$?7k2L$rF@$k$b$N$G$9!#(B
$B%F%s%W%l!<%H$O(BHTML$B%(%G%#%C%?Ey$G$b$[$\ITET9gL5$/JT=8$,9T$($k$N$G!"(B $B;vL3$N$*$M!<$5$s$K$@$C$F#O#K$C$9!#(B($BCm(B1)

$BDs6!$9$k5!G=(B

$B;EMM(B

$B0J2<$N>pJs$rEO$9$3$H$G%U%)!<%^%C%F%#%s%0$r9T$$$^$9!#(B

$B@8@.;~(B $BJQ49$r9T$&%F%s%W%l!<%H%U%!%$%k$H%(%s%3!<%G%#%s%0(B
format$B;~(B $BJQ49I=$H$J$k(BMap$B%$%s%9%?%s%9(B

$B%F%s%W%l!<%H%U%!%$%k$K0J2<$N$h$&$K%3%^%s%I(B/$B%-!<$r5-=R$7$F$*$-$^$9!#(B
$B%-!<$KBP1~$9$k(Bsubstitute($BJQ498uJd(B)$B%*%V%8%'%/%H72$O(B Map$B$H$7$F(BFormatter$B$KM?$($^$9!#(B

$B%3%^%s%I(B(ignore case) $B=q<0(B $B0UL#(B
substitute
#
@#substitute key@
$B$^$?$O(B@##key@
Map$B>e$N(Bkey$B$KBP1~$9$k(Bvalue$B$KCV49!#(B
key$B$,(BMap$B>e$KB8:_$7$J$$>l9g$OL5;k$5$l$k!#(B
html @#html key@ key$B$KBP1~$9$k(Bvalue$B$N=jDj$NJ8;z(B(<>"&$B$N(B4$BJ8;z(B) $B$rH$KJQ49$7$F=PNO!#(B
tanslate @#translate key@ key$B$KBP1~$9$k(Bvalue$B$KG$0U$N(BTranslator$B$rE,MQ$7$F$+$i=PNO!#(B
$BE,MQ$9$k(BTranslator$B$O(BTextFormatter$B%*%V%8%'%/%H$4$H$K@Z$jBX$(2DG=!#(B
exist$B!A(Belse$B!A(Bendexist @#exist key@$B!A(B
$B!A(B[@##key@]$B!A(B
@#else@
$B!A(B[@##key@]$B!A(B
@#endexist@
key$B$,B8:_$9$l$P0O$^$l$?HO0O$,I>2A$5$l$k!#(B
$BB8:_$7$J$1$l$PL5;k$5$l$k!#(B
while$B!A(Bendwhile @#while key@$B!A(B@#endwhile@ $B0O$^$l$?HO0O$r(Bkey$B$KBP1~$9$kCM$N8D?t$@$17+$jJV$9!#(B
$BCM$O(BMap$B$NG[Ns$^$?$O(BMap$B$N(BList$B$GL5$1$l$P$J$i$J$$!#(B
if$B!A(Belse$B!A(Bendif @#if key = value1@$B!A(B@#endif@
@#if key != value2@
$B!A(B[@##key@]$B!A(B
@#else@
$B!A(B[@##key@]$B!A(B
@#endif@
$B%-!<$NCM$K1~$8$FI>2A$5$l$kItJ,$rJQ99$9$k!#(B
$BDL>o$O(Bexist$B$GBP1~2DG=!#(B
foreach$B!A(Bendforeach @#foreach key@$B!A(B
[@##key@]$B!A(B
@#endforeach@
$B0O$^$l$?HO0O$r(Bkey$B$KBP1~$9$kCM$N8D?t$@$17+$jJV$9!#(B
$BCM$O(BObject$BG[Ns$^$?$O(BList$B$G$J$1$l$P$J$i$J$$!#(B
$B0O$^$l$?HO0O$K0l $BB>$NCV49%-!<$,$"$C$?>l9g$OF1$8CM$,7+$jJV$7=PNO$5$l$k!#(B
"@#"+$B%-!<%o!<%I!"%-!l9g$N(B"=","!=")$B!"(B suffix$B$G$"$k(B"@"$B$N4V$K$O6uGr(B(tab/$B2~9T$r4^$`(B)$B$rF~$l$k$3$H$b(B $B>JN,$9$k$3$H$b$G$-$^$9!#(B
$B0J2<$OEy2A$G$9!#(B
@##key@
@## key @
@##
        key
@
$B0J2<$bF1MM$G$9!#(B($BF|K\8l$b(BOK)
@#if $B%-!<%o!<%I(B!=$BCM(B@
@#if$B%-!<%o!<%I(B!=$BCM(B@
@#if $B%-!<%o!<%I(B != $BCM(B @
@#if
   $B%-!<%o!<%I(B
   !=
   $BCM(B
@
$B;z6g2r@O4o$NET9g$G!"%3%^%s%I$H4XO"$7$J$$2U=j$G(B "@#"$B!"(B"@@"$B!"(B"@\"$B$H$$$&O"B3$9$k(B2$BJ8;z$r;HMQ$G$-$J$/$J$C$F$$$^$9!#(B
$B%3%^%s%I$ND>A0$N(B'@'$B$b$@$a!#D>8e$OBg>fIW$G$9!#(B
$B!&!&!&(Bfoo@bar$B!&!&!&(B                     -> OK
$B!&!&!&(B@#exist abc@@$B!&!&!&(B         -> OK
$B!&!&!&(Bfoo@@$B!&!&!&(B                         -> NG
$B!&!&!&(B@#exist abc@@@$B!&!&!&(B        -> NG
$B!&!&!&(Bfoo@#bar$B!&!&!&(B              -> NG
$B!&!&!&(Bfoo@#exisy abc@$B!&!&!&(B   -> NG
$B!&!&!&(B@@#exist abc@$B!&!&!&(B         -> NG
$B%(%9%1!<%W$5$l$F$$$J$$(B"@"$B$ND>8e$K(B"#"$B!"(B"@"$B!"(B"\"$B$,8=$l$?>l9g!"(B TextFormatter$B$OJ8K!%(%i!<(B(WrappedParseException)$B$rH/@8$5$;$^$9!#(B
$B$3$l$i$NJ8;zNs$r%F%s%W%l!<%H%U%!%$%kCf$G;HMQ$9$k>l9g$O!"(B $B@hF,$N(B@$B$r(B'\'$B$G%(%9%1!<%W$7$^$9!#(B
("\@#" "\@@" "\@\"$B$N$h$&$K(B)
"\@"$B$H$$$&J8;zNs$r(B"@"$B$H2rl9g$O!"(B $B$b$A$m$s(B"\\@"$B$H$7$^$9!#(B
$B!&!&!&(Bfoo\@@$B!&!&!&(B
$B!&!&!&(Bfoo\@#bar$B!&!&!&(B
$B!&!&!&(B\@@#exist abc@$B!&!&!&(B
$B!&!&!&(B@#exist abc@\@@$B!&!&!&(B
$BIaDL$O$3$NLdBj$,H/@8$9$k$h$&$J(Btemplate$B$K$O$J$i$J$$$H$O;W$$$^$9$,!D!#(B
$B$G$b;vL3$N$*$M!<$5$s$,$3$NLdBj$KD>LL$7$?$i$^$:$$$N$G!"(B $B$J$s$H$+$9$Y$-$G$O$"$k$H$O;W$C$F$$$^$9!#(B
# JavaCC$B$J$s$>$G$d$C$F$7$^$C$?$+$i!D(BLex$B$J$i9T$1$k$+$H;W$C$?$1$I!"(B JLex$B$G$O(BJavaCC$B$HF1MM$NLdBj$,$G$=$&$G$9$7!#(B
# $B;z6g$NI>2A$NM%@h=g0L$NIU$1J}$,$h$/$o$+$i$J$$$d!#(B

$BJQ49$N

import com.sk_jp.text.*;
  :
TextFormatter formatter;
formatter = new TextFormatter("file.template", "Shift_JIS");
Map args = new HashMap(); args.put("key1", "value1");
args.put("key2", "value2");
String result = formatter.format(args);
// or formatter.format(args, writer);

$BJQ49Nc(B

$B0J9_$G$=$l$>$l$N%3%^%s%I;HMQJ}K!$r6qBNE*$JNc$G@bL@$7$^$9!#(B

1.$BC1=c$JCV$-49$((B

<html>
<head>
<title>@#substitute filetitle@</title>
</head>
<body>
$B:#F|$NF|IU$O(B@##date@$B$G$9!#(B
</body>
</html>

$BM?$($k(BMap$B$N%$%s%9%?%s%9(B

filetitle "$B:#F|$O(B"
contents new Date()

$B7k2L(B

<html>
<head>
<title>$B:#F|$O(B</title>
</head>
<body>
$B:#F|$NF|IU$O(BTue Mar 14 08:35:31 JST 2000$B$G$9!#(B
</body>
</html>
new Date()$B$G$O$J$/!"(B
DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(new Date())
$B$N$h$&$KJ8;zNs2=$7$?$b$N$rEO$9$3$H$b$b$A$m$s=PMh$^$9!#(B

2.$B%(%s%H%j$NM-L5$K$h$k%F%s%W%l!<%H$NItJ,:o=|(B

<html>
@#exist stylesheeturl@
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="@##stylesheeturl@" type="text/css" />
@#endexist@
<body>
@#exist title@<h1>@##title@</h1>@#endexist@
  :
</body>
</html>

$BM?$($k(BMap$B$N%$%s%9%?%s%9(B

stylesheeturl "/sample.css"

$B7k2L(B

<html>

<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="/sample.css" type="text/css" />

<body>
  :
</body>
</html>

"title"$B$H$$$&%-!<$KBP1~$9$kCM$,L5$$>l9g$O(B<h1>$B%?%0$b=PNO$5$l$J$$(B


3.$B7+$jJV$7(B

<html><body>
<table><tbody>
<tr><th>$B%X%C%@#1(B</th><th>$B%X%C%@#2(B</th></tr>
@#while row@
<tr><td>@##column1@</td><td>@##column2@</td></tr>
@#endwhile@
</tbody></table>
</body></html>

$BM?$($k(BMap$B$N%$%s%9%?%s%9(B

row Map$B%$%s%9%?%s%9$NG[Ns$^$?$O(BMap$B$N=89g$r3JG<$7$?(BList$B%$%s%9%?%s%9(B

Map$B$NG[Ns(B

column1 $BNs(B1-1
column2 $BNs(B2-1
column1 $BNs(B1-2
column2 $BNs(B2-2
column1 $BNs(B1-3
column2 $BNs(B2-3

$B7k2L(B

<html><body>
<table><tbody>
<tr><th>$B%X%C%@#1(B</th><th>$B%X%C%@#2(B</th></tr>
<tr><td>$BNs(B1-1</td><td>$BNs(B2-1</td></tr>
<tr><td>$BNs(B1-2</td><td>$BNs(B2-2</td></tr>
<tr><td>$BNs(B1-3</td><td>$BNs(B2-3</td></tr>
  :
</tbody></table>
</body></html>

"row"$B$H$$$&%-!<$NCM$O7+$jJV$5$l$k8D?tJ,$N(BMap$B$N=89g$H$J$k!#(B
$B$b$A$m$s$=$N%^%C%W$K$O(B"column1""column2"$B$H$$$&%-!<$,B8:_$9$k!#(B
# $B$3$s$J$K(BMap$B%$%s%9%?%s%9$rB??t@8@.$7$F$?$i8zN(0-$9$.$+(B?
# $B$7$+$7!"%-!$K(Bindex$BIU$1$r9T$&$J$I$G$O;H$$$E$i$$$7!#(B


4.$B7+$jJV$7$N%M%9%H(B

<html><body>
<h1>$B=87W7k2L(B</h1>
@#while category@
  <table>
  <thead><caption>@##categorytitle@</caption></thead>
  <tbody>
  @#while item@
    <tr><td>$B9`L\L>(B</td><td>@##itemname@</td></tr>
  @#endwhile@
  </tbody></table>
@#endwhile@
</body></html>

$BM?$($k(BMap$B$N%$%s%9%?%s%9(B

category Map$B%$%s%9%?%s%9$NG[Ns$^$?$O(BMap$B$N=89g$r3JG<$7$?(BList$B%$%s%9%?%s%9(B

Map$B$NG[Ns(B

categorytitile $BI=(B1
item Map$BG[Ns(B
categorytitile $BI=(B2
item Map$BG[Ns(B
categorytitile $BI=(B3
item Map$BG[Ns(B

$B>e5-$N$=$l$>$l$N!V(BMap$BG[Ns!W$K$O!"%-!

$B7k2L(B

<html><body>
<h1>$B=87W7k2L(B</h1>
  <table>
  <thead><caption>$BI=(B1</caption></thead>
  <tbody>
        <tr><td>$B9`L\L>(B</td><td>$B9`L\(B1</td></tr>
        <tr><td>$B9`L\L>(B</td><td>$B9`L\(B2</td></tr>
          :
  </tbody></table>
  <table>
  <thead><caption>$BI=(B2</caption></thead>
  <tbody>
        <tr><td>$B9`L\L>(B</td><td>$B9`L\(B1</td></tr>
        <tr><td>$B9`L\L>(B</td><td>$B9`L\(B2</td></tr>
          :
  </tbody></table>
  <table>
  <thead><caption>$BI=(B3</caption></thead>
  <tbody>
        <tr><td>$B9`L\L>(B</td><td>$B9`L\(B1</td></tr>
        <tr><td>$B9`L\L>(B</td><td>$B9`L\(B2</td></tr>
          :
  </tbody></table>
</body></html>

5.$B>r7o$K$h$kA*Br(B

$BDL>o$O(B@#exist name@$B!A(B@#endexist@$B$G;vB-$j$k!#(B $B%k!<%WCf$G$=$N9`L\$4$H$K%U%)!<%^%C%H$rJQ99$G$-$k$h$&$K(B $B$7$?$$>l9g$KMQ$$$k!#(B

<html><body>
<h1>$B=87W7k2L(B</h1>
@#while category@
  @#if type=table>@
      <h2>@## title@$B$NA*Br?t(B</h2>
      <table><tbody>
      <!-- $B%3%a%s%H$K$7$F$$$k$N$O(BHTML$B%(%G%#%C%?$GJ8K!%(%i!<$rH/@8$5$;$J$$0Y(B -->
      <!-- @#while item@ -->
          <tr><td>$B9`L\L>(B</td><td>@## itemname@</td></tr>
      <!-- @#endwhile@ -->
      </tbody></table>
  @#endif@
  @#if type=link@
      <h2><a href="/servlets/listing.jsp?id=@## id@">
          @## title@$B$N0lMw(B
      </a></h2>
  @#endif@
@#endwhile@
</body></html>

$BM?$($k(BMap$B$N%$%s%9%?%s%9(B

category Map$B%$%s%9%?%s%9$NG[Ns$^$?$O(BMap$B$N=89g$r3JG<$7$?(BList$B%$%s%9%?%s%9"((B

$B"((B:Map$B$NG[Ns(B

if table
title $B9`L\(B1
item Map$BG[Ns"((B2
if link
title $B9`L\(B2
id 2
if table
title $B9`L\(B3
item Map$BG[Ns(B

$B"((B2:Map$B$NG[Ns(B

column1 $BA*Br9`L\(B1
column2 5
column1 $BA*Br9`L\(B2
column2 3

$B7k2L(B($B6uGr9T$O8+$d$9$/$7$F$$$k$@$1$G$9(B)

<html><body>
<h1>$B=87W7k2L(B</h1>

<h2>$B9`L\(B1$B$NA*Br?t(B</h2>
<table><tbody>
  <tr><td>$BA*Br9`L\(B1</td><td>5</td></tr>
  <tr><td>$BA*Br9`L\(B2</td><td>3</td></tr>
        :
</tbody></table>

<h2><a href="/servlets/listing.jsp?id=2">$B9`L\(B2$B$N0lMw(B</a></h2>

<h2>$B9`L\#3$NA*Br?t(B</h2>
<table><tbody>
  <tr><td>$BA*Br9`L\(B1</td><td>14</td></tr>
  <tr><td>$BA*Br9`L\(B2</td><td>8</td></tr>
        :
</tbody></table>
  :
</body></html>

6.$BFs
<html><body>
<table><tbody>
<tr>@#while column@<th>@##head@</th>@#endwhile@</tr>
@#while row@<tr>@#while column@<td>@##body@</td>@#endwhile@</tr>@#endwhile@
</tbody></table>
</body></html>

Map$B$N%$%s%9%?%s%9(B

column Map$B%$%s%9%?%s%9$NG[Ns$^$?$O(BMap$B$N=89g$r3JG<$7$?(BList$B%$%s%9%?%s%9(B
row Map$B%$%s%9%?%s%9$NG[Ns$^$?$O(BMap$B$N=89g$r3JG<$7$?(BList$B%$%s%9%?%s%9(B

[row]$B$NCM$G$"$k(BMap$BG[Ns(B

column Map$B%$%s%9%?%s%9$NG[Ns$^$?$O(BMap$B$N=89g$r3JG<$7$?(BList$B%$%s%9%?%s%9(B

[column]$B$K$O$=$l$>$l(B[head][body]$B$H$$$&%-!<$r;}$C$?(BMap$B$NG[Ns$,F~$k!#(B
$B$9$_$^$;$sNc$,0-$+$C$?!#(B $B:#$O(Bforeach$B$,;H$($k$N$G$b$&$A$g$C$H4J7i$K$J$j$^$9!#(B

$B7k2L(B

<html><body>
<table><tbody>
<tr><th>$B%X%C%@#1(B</th><th>$B%X%C%@#2(B</th><th>$B%X%C%@#3(B</th></tr>
<tr><td>$B%\%G%#(B1-1</td><td>$B%\%G%#(B2-1</td><td>$B%\%G%#(B3-1</td></tr>
<tr><td>$B%\%G%#(B1-2</td><td>$B%\%G%#(B2-2</td><td>$B%\%G%#(B3-2</td></tr>
<tr><td>$B%\%G%#(B1-3</td><td>$B%\%G%#(B2-3</td><td>$B%\%G%#(B3-3</td></tr>
  :
</tbody></table>
</body></html>

$BCm(B1
JSP$B$b4pK\E*$K$O(BHTML$B%(%G%#%C%?$GJT=82DG=$G$9$,!"(B JSP$B$O%W%i%C%H%U%)!<%`$N%G%U%)%k%H%(%s%3!<%G%#%s%0$K(B $B0MB8$7$F$$$k$N$GG[I[$K8~$$$F$$$J$$$H$$$&LdBj$,(B $B$"$j$^$9(B$B$"$j$^$7$?(B($B2a5n7A(B)$B!#(B $B$3$N%i%$%V%i%j$O(BHTML$B$K8BDj$7$^$;$s$7$M!#(B
$B$^$?!"(BJSP$B$N>l9g%?%0$GI=8=$9$k$?$a!"(B HTML$B%(%G%#%C%?$G$OL$CN$N%?%0$H$7$F07$o$l$F$7$^$$$^$9!#(B
$BC"$7!"(B<HEAD></HEAD>$BFb$K%-!<%o!<%I(B("@##nnnn@")$B$rG[CV$9$k$H!"(B $B%[!<%`%Z!<%8%S%k%@!<$H$$$&%=%U%H$G$O%(%i!<$H$7$F07$o$l$F(B $BJd@5$,$5$l$F$7$^$$$^$7$?!#(B(JSP$B$G$b$[$H$s$IF1$8LdBj$O$"$j$^$9$,(B)
$B%(%i!<<+F0Jd@55!G=$N$"$k(BHTML$B%(%G%#%C%?$N>l9g$O!"(B $B>l9g$K$h$C$F$O$=$N5!G=$r(BOFF$B$K$7$?J}$,$h$$$H$*$b$o$l$^$9!#(B