質問: はじめまして、とりあえず動くコードは書けても綺麗なコードが 書けないレベルの初心者です。 struts1.3で作った掲示板でリファクタリングの練習をしているのですが、 掲示板にアップロードされたファイル種類に合わせて、 表示するアイコンを変えて表示し、ファイルへのリンクを設置して ダウンロードさせる場合はどのような作り方が良いのでしょうか? 現在は、 String型のfileTypeにxlsやxlsx等の文字列をlogic:iterateで回してファイル の数だけ処理しています。 問題の表示部分ですが、 添付ファイルをダウンロード として、xlsのアイコン1枚でxlsとxlsxへの対応はできたのですが、 この後pdf、ppt、doc・・・とlogic:matchをひたすら羅列してもよいのでしょ うか?
回答: Mapに対応表入れておいたら? <%@ page import="java.util.*"%> <%@ page isELIgnored="false" %> <%-- Servlet2.3以前だとEL式は無効になってるので有効化 --%> <% Map extMap = new HashMap(); extMap.put("xls", "icon_xls.png"); extMap.put("xlsx", "icon_xls.png"); extMap.put("doc", "icon_doc.png"); pageContext.setAttribute("extMap", extMap); %> 例では直前にMapを作ってるけど、 Action側でDBとか設定ファイルから抽出しても良いし。