前提
いつもお世話になっております。
先日質問させて頂いた発展の部分で沼っています。
TomCatを利用して簡単なウェブアプリケーションもどきを作成してます。
実現したいこと
ユーザが選択した文字の色、大きさで入力されたテキストを移動先のページで表示したい。
発生している問題・エラーメッセージ
<font>タグを利用しても変更が反映されない。
該当のソースコード
jsp
1<%@page contentType="text/html; charset=UTF-8"%> 2<!DOCTYPE html> 3<HTML lang="ja"> 4<HEAD> 5<meta charset="UTF-8"> 6<title>work</title> 7<link rel="stylesheet" type="text/css" href="t1.css" /> 8</HEAD> 9<BODY> 10 <FORM method="post" action="ExJ1Servlet"> 11 文字列<br> <INPUT type="text" name="letter" /> 12 <table> 13 <tr> 14 <td>文字の大きさ</td> 15 <td>文字の色</td> 16 </tr> 17 <tr> 18 <td><label> <input type="radio" name="font_scale" 19 value="2" />とても小さい 20 </label> <label> <input type="radio" name="font_scale" 21 value="3" />小さい 22 </label> <label> <input type="radio" name="font_scale" 23 value="4" />小さいかも? 24 </label> <label> <input type="radio" name="font_scale" 25 value="5" />大きいかも? 26 </label> <label> <input type="radio" name="font_scale" 27 value="6" />大きい 28 </label> <label> <input type="radio" name="font_scale" 29 value="7" />とても大きい 30 </label></td> 31 <td><label> <input type="radio" name="font_color" 32 value="blue" />blue 33 </label> <label> <input type="radio" name="font_color" value="green" />green 34 </label> <label> <input type="radio" name="font_color" value="red" />red 35 </label> <label> <input type="radio" name="font_color" 36 value="purple" />purple 37 </label> <label> <input type="radio" name="font_color" value="brown" />brown 38 </label> <label> <input type="radio" name="font_color" 39 value="yellow" />yellow 40 </label></td> 41 </tr> 42 <tr> 43 <td><INPUT type="submit" value="送信" /></td> 44 </tr> 45 </table> 46 </FORM> 47</BODY> 48</HTML>
javascript
1import java.io.IOException; 2 3import javax.servlet.ServletException; 4import javax.servlet.annotation.WebServlet; 5import javax.servlet.http.HttpServlet; 6import javax.servlet.http.HttpServletRequest; 7import javax.servlet.http.HttpServletResponse; 8 9@WebServlet( urlPatterns={"/ExJ1Servlet" } ) 10public class ExJ1Servlet extends HttpServlet{ 11 12 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 13 doMain(req,resp); 14 } 15 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 16 doMain(req,resp); 17 } 18 19 20 protected void doMain(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{ 21 req.setCharacterEncoding("UTF-8"); 22 resp.setContentType("text/html; charset=UTF-8"); 23 String str = req.getParameter("letter"); 24 String font_scale = req.getParameter("font_scale"); 25 String font_color = req.getParameter("font_color"); 26 String moji=str; 27 req.setAttribute("moji", moji); 28 req.setAttribute("font_scale", font_scale); 29 req.setAttribute("font_color", font_color); 30 req.getRequestDispatcher("/ExJ1Output.jsp").forward(req, resp); 31 } 32}
jsp
1<%@page contentType="text/html; charset=UTF-8" %> 2<!DOCTYPE html> 3<HTML> 4<HEAD> 5<META charset="UTF-8"> 6<% String moji = (String)request.getAttribute("moji");%> 7<% String font_color = (String)request.getAttribute("font_color");%> 8<% String font_scale = (String)request.getAttribute("font_scale");%> 9</HEAD> 10<BODY> 11<font color = font_color size = font_scale><% out.print(moji); %></font> 12<% out.print(font_scale); %> 13<% out.print(font_color); %> 14 15</BODY> 16</HTML>
css
1label { 2 display: block; /* ブロックを作るように */ 3 margin: 5px 0; /* 前後のスペース */ 4}
試したこと
(文字サイズに関して)調べて、sizeの型がCDATAであることがわかったが、対象の変数をそれにキャストしようとしても不可能だった。
(文字色に関して)
文字サイズと同様。
そもそも、代入するときには""をつけるのに、String型の変数は反映されないんでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。