オブジェクトのプロパティを認識できません

このQ&Aのポイント
  • オブジェクトの中のプロパティを認識できません javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.Stringをいうアラームが消えません。
  • どなたか<c:out value="${var5.id}"/>を表示する方法を教えて下さい。
  • この質問では、JavaのJSPとサーブレットを使用しています。オブジェクトのプロパティを参照する際にプロパティが存在しないエラーが発生しており、<c:out>タグを使用して<c:out value="${var5.id}"/>を表示する方法を知りたいです。
回答を見る
  • ベストアンサー

オブジェクトの中のプロパティを認識できません

javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.Stringをいうアラームが消えません。 どなたか<c:out value="${var5.id}"/>を表示する方法を教えて下さい。 「hoge.jsp」 <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:if test="${itemSize != 0}"> <table border="0" > <c:forEach var="var5" items="table"> <tr> <td width="30" ><c:out value="${var5.id}"/></td> <td width="210"><c:out value="${var5.name}"/></td> <td width="50" ><c:out value="${var5.price}"/></td> <td width="50" ><input type="text" name="count" value="1" size="3"/></td> </tr> </c:forEach> </table> 「hoge.java」 public class hoge extends HttpServlet{ private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("Windows-31J"); int id = 0; String name = null; int price = 0; try{ table3 = new ArrayList<Object>(); id = Integer.parseInt(request.getParameter("id")); name = request.getParameter("name"); price = Integer.parseInt(request.getParameter("price")); hogeBean hoge = new hogeBean(); hoge.setId(id); hoge.setName(name); hoge.setPrice(price); table3.add(hoge); request.getSession().setAttribute("table", table3); }catch(Exception e){ throw new ServletException(e); } getServletContext().getRequestDispatcher("/hoge.jsp").forward(request,response); } private List<Object> table3; public List<Object> getTable3() { return table3; } } 「hogeBean.java」 public class hogeBean{ private int id; public int getId(){ return id; } private String name; public String getName(){ return name; } public void setName(String name){ this.name = name; } public void setId(int id){ this.id = id; } private int price; public int getPrice(){ return price; } public void setPrice(int price){ this.price = price; } }

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

>javax.el.PropertyNotFoundException: Property 'id' not found on type java.lang.String エラーメッセージのとおり、Stringクラスにはidというプロパティはないからです。 ><c:forEach var="var5" items="table"> これでは"table"という文字列に対してループ処理することになります。なので、 <c:forEach var="var5" items="${table}"> としなければいけないです。 <c:out value="${var5}"/> などとして、var5にどんな値が入っているのかを確認すれば気付けるのではないかなーと思います。

関連するQ&A

  • オブジェクトの中のプロパティを認識できません

    javax.el.PropertyNotFoundException: Property 'fact' not found on type web.entity.DBData というエラーが消えません。 どなたか助けて頂けないでしょうか。 エンティティーで宣言しているのに、jspが読み込んでくれません。 [show.jsp] 表示箇所 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@page import="web.entity.DBData"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Searching</title> </head> <body> <h1>Company Information</h1> <table border="1"> <c:forEach items="${list3}" var="factory"> <tr> <td><c:out value="${factory.fact}" /></td> <td><c:out value="${factory.gcon}" /></td> </tr> </c:forEach> </table> </body> </html> [search] データ取得 public class Search extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection connection = null; try { InitialContext initCtx = new InitialContext(); DataSource ds = (DataSource) initCtx .lookup("java:comp/env/jdbc/localDB"); connection = ds.getConnection(); List<DBData> resultList3 = SelectFactory(connection); request.setAttribute("list3", resultList3); request.getRequestDispatcher("/show.jsp") .forward(request, response); } catch (Exception e) { throw new ServletException(e); } finally { try { connection.close(); } catch (SQLException e) { throw new ServletException(e); } } } public List<DBData> SelectFactory(Connection connection) throws Exception { String sql_Factory = "SELECT Factory_Name , General_Contractor " + "FROM FACTORY WHERE Company_Name like CONCAT('%',?,'%')"; PreparedStatement statement3 = connection.prepareStatement(sql_Factory); statement3.setString(1, "Company1"); ResultSet rs3 = statement3.executeQuery(); List<DBData> resultList3 = new ArrayList<DBData>(); while (rs3.next()) { DBData factory = new DBData(); factory.setFactory(rs3.getString("Factory_Name")); factory.setGcontractor(rs3.getString("General_Contractor")); resultList3.add(factory); } return resultList3; } : [DBData.java] エンティティー箇所 public class DBData { String company; String fact; String gcon; public String getFactory() { return fact; } public void setFactory(String fac) { this.fact = fac; } public String getGcontractor() { return gcon; } public void setGcontractor(String gc) { this.gcon = gc; } }

    • ベストアンサー
    • Java
  • 1ページに10件ずつ表示したい

    1ページに10件ずつ表示したいのですが、1回目「次のページ」ボタンを押すと 11件目から表示しますが、2回目「次のページ」ボタンを押しても、 21件目から表示せず、再び11件目から表示します。 どこがおかしいか、どなたかご指摘お願い致します。 「最初の10行を表示するServlet」 public class hoge extends HttpServlet{ private static final long serialVersionUID = 1L; public void doGet (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ request.getSession().invalidate(); CatalogDAO dao = new CatalogDAO(); List<Product> list = dao.getProductList(); request.getSession(true).setAttribute("products",list); table = new ArrayList<Object>(); OffsetBean offsetBean = new OffsetBean(); offsetBean.setStr(0); table.add(offsetBean); request.getSession(true).setAttribute("object1", table); }catch(Exception e){ throw new ServletException(e); } getServletContext().getRequestDispatcher("catalog.jsp").forward(request,response); } private List<Object> table; public List<Object> getTable() { return table; } } 「catalog.jsp」 <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:forEach var="var2" items="${object1}"> <table> <tr bgColor=#bb5a5a> <th><font color=#ffffff>番号</font></th> <th><font color=#ffffff>商品名</font></th> <th><font color=#ffffff>価格</font></th> <th><font color=#ffffff></font></th> </tr> <c:forEach var="var" items="${products}" begin="${var2.str}" end="${var2.str + 9}"> <tr bgColor=#fddddd> <td align="center" width="40"><c:out value="${var.id}" /></td> <td width="290"><c:out value="${var.name}" /></td> <td align="right" width="70"><c:out value="${var.price}" />円</td> <td> <form method="post" action="/book/catalog/CatalogDetailShow"> <input type="hidden" name="id" value="${var.id}"/> <br><input type="submit" name="submit" value="詳細"/> </form> </td> </tr> </c:forEach> </table> <c:if test="${var2.str >= 0}"> <c:if test="${var2.str < products.size() - products.size()%10 }"> <form method="post" action="/book/catalog/NextPage"> <input type="submit" name="submit" value="次のページ"/> </form> </c:if> </c:if> <c:if test="${var2.str > 9}"> <form method="post" action="/book/catalog/BackPage"> <input type="submit" name="submit" value="前のページ"/> </form> </c:if> </c:forEach> 「次の10行を表示するServlet」 public class NextPage extends HttpServlet { private static final long serialVersionUID = 1L; public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ OffsetBean offsetBean= new OffsetBean(); offsetBean.setStr(offsetBean.getStr() + 10); table = new ArrayList<Object>(); table.add(offsetBean); request.getSession(true).setAttribute("object1", table); }catch(Exception e){ throw new ServletException(e); } getServletContext().getRequestDispatcher("catalog.jsp").forward(request,response); } private List<Object> table; public List<Object> getTable() { return table; } } 「Bean・・・OffsetBean.java」 public class OffsetBean { private int str; public void setStr(int str) { this.str = str; } public int getStr() { return this.str; } }

  • 既存オブジェクトに対するプロパティの追加

    既存オブジェクトに対してプロパティを追加したいと思っています。 具体的には(後述しますが)ファイル・フォルダオブジェクトに対してです。 (1)自分で作ったオブジェクトの場合 var huga = {}; huga.hoge = "123"; こうするだけで「hoge」プロパティを追加できますよね。 (2)一般的なオブジェクトの場合 Object.prototype.hoge = "123"; とすれば「hoge」プロパティを追加できますよね。 ここまでは知っていました。で、それを踏まえて同じように追加しようと、(1)(2)ともにためしてみたのですがうまくいきませんでした…。 文末のコードでは「item」の配列と、「newName」の配列を別に用意し処理しています。ただ、オブジェクトの意味合いからして、各独立に配列を用意するのはダサすぎます。で、item自体に「newName」プロパティを追加しようと思ったのですがこれがうまくいきませんでした。 ◎質問 ・この「item」オブジェクトにプロパティを追加することは出来るか ・出来ないのならなぜ出来ないのか。(拡張不可属性とかあるの?) ・出来るのならその方法 ※htaアプリなので、IEで動けばOKです。 以上、よろしくお願いします。 <html> <body> <input type="button" onclick="ファイル一覧取得()" value="ファイル一覧取得"> <div id="files"></div> <script> var folderItemsArray = []; var newFileNamesArray = []; // (2)で出来なかった例 // Object.prototype.newName = "123"; // FolderItem.prototype.newName = "123"; // Folder.prototype.newName = "123"; // Item.prototype.newName = "123"; function ファイル一覧取得() { folderItemsArray = []; newFileNamesArray = []; var FOLDER_PATH = "C:\\WINDOWS"; // ★ファイル・フォルダの一覧取得 var shell = new ActiveXObject("Shell.Application"); var folderItems = shell.NameSpace(FOLDER_PATH).Items(); var regOpt = "i"; for (var i = 0; i < folderItems.Count; i++) { // ↓このオブジェクトに「newName」を追加したい var item = folderItems.Item(i); if (!item.IsFolder) { newFileNamesArray.push("…"); // ↑別配列を操作している辺りがダサい // ↓本当はこんな感じにしたい。(1)で出来なかった例 // item.newName = "…"; folderItemsArray.push(item); } } 一覧表示(); } /** * ファイル一覧表示 */ function 一覧表示() { var body = ''; for (i = 0; i < folderItemsArray.length; i++) { var item = folderItemsArray[i]; body += "<tr>"; body += "<td>" + item.Size; body += "<td>" + item.Name; body += "<td>" + newFileNamesArray[i]; // ↑別配列を操作している辺りがダサい // ↓本当はこんな感じにしたい // tbodyStr += "<td>" + item.newName; } var table = '<table border="1" cellspacing="0">'; table += body; table += "</table>"; document.getElementById("files").innerHTML = table; } </script> </body> </html>

  • スケジュール登録でのユーザー情報取りだし方法

    お世話になります。 現在jsp javascript でスケジュール管理プログラムを作っていますが、スケジュールの日付を指定するとすべてのスケジュール(ログイン時でも他ユーザーのスケジュールも表示される。) ことになってしまいますが、そうならないためにスケジュール登録の時にログイン時のユーザー情報 (ユーザー名、ID,パスワード)を取り出すにはどのような処置をすればよろしいでしょうか? 下記ソースです。(文字コード指定等省略してる部分があります。) スケジュール登録1 文字コード指定 <%! private String createOption(int start,int end){ StringBuffer builder = new StringBuffer(); for(int i=start;i<=end;i++){ builder.append("<option value ='"+i+"'>"+i+"</option>"); } return builder.toString(); } %> <html> <head> <title>スケジュール新規登録1</title> </head> <body> <form action="ScheduleToroku2.jsp" method="POST"> <tr> <td> <h3>スケジュールを登録したい日付を選択してください。</h3> </td> <th align="right">日付:</th> <td> <select name="sdate_year"><%=createOption(2000,2030)%></select>年 <select name="sdate_month"><%=createOption(1,12)%></select>月 <select name="sdate_day"><%=createOption(1,31)%></select>日 </td> <td> <h3>登録したい内容を入力してください。</h3> </td> <td> <textarea name="memo" rows="5" cols="40"></textarea> </td> <td> <h3>開始時間を選択してください。</h3> </td> <td> <select name="start_hour"><%=createOption(0,23)%></select>時 <select name="start_minute"><%=createOption(0,50)%></select>分 </td> <td> <h3>終了時間を選択してください。</h3> </td> <td> <select name="end_hour"><%=createOption(0,23)%></select>時 <select name="end_minute"><%=createOption(0,59)%></select>分 </td> スケジュール登録2 <% /*スケジュール登録1からデータを取得*/ String date=request.getParameter("sdate_year")+"-"+request.getParameter("sdate_month")+"-"+request.getParameter("sdate_day"); String memo=request.getParameter("memo"); String s_hour=request.getParameter("s_hour"); String s_minute=request.getParameter("s_minute"); String e_hour=request.getParameter("e_hour"); String e_minute=request.getParameter("e_minute"); if(Integer.parseInt(s_hour)>Integer.parseInt(s_hour)){ %> 下記スケジュール1の登録内容

  • innerHTMLでのテーブル作成

    いつもお世話になっております。 こちらの質問と回答を参考にプログラムを付け足して、リストを作る練習をしています。 http://okwave.jp/qa/q8090793.html テーブル行の先頭に項目名を表示させて、表を分かりやすくしようと思ったのですが、 最後に出力される項目名がそれまでの項目名を上書きしてしまい、 項目名が1個しか表示されないため、テーブルがずれて表示されてしまいます。 50個 金額~~ 100個 金額~~ と表示させるためには、どこを手直ししたら良いのか知恵を貸してください。 よろしくお願いします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>innnerHTMLで自動生成された表を出力したい</title> <style> h2 { margin-bottom:0; color:#900;} table{ border:none; font-size:12px;} table tr th{ padding:5px; width:90px; background:#69F;} table tr td{ padding:5px; text-align:right; background:#9CF;} </style> <script type="text/javascript"> //ラジオボタンのvalue値を取得 var daysRate; var nouki = document.getElementsByName('nouki'); var price = new Array ( 10, 30, 50 ); function getRate() { for ( var i = 0; i < nouki.length; i ++ ) { if ( nouki[i].checked ) { daysRate = nouki[i].value; }}return parseFloat(daysRate);} function calc() { // 選択されているレートを取得 var rate = getRate(); var list_name = new Array('<h2>表1</h2>','<h2>表2</h2>','<h2>表3</h2'); var table_start = "<div><table><tbody>"; var table_head = '<tr><th>入数</th><th>ヘッダー1</th><th>ヘッダー2</th><th>ヘッダー3</th></tr>'; var table_kosuu = ""; var table_td = ""; var table_end = "</tbody></table></div><hr />"; // priceが増えてもロジックをいじる必要がないようにprice.lengthでループ数を制御 for(var i=50; i<=100; i+=50){ if(i==50){ table_kosuu = '<tr><td>' + i + '個</td>'; for ( var j = 0; j < price.length; j ++ ) { if(j < price.length-1){ table_td += '<td>¥' + parseInt(price[j]*i) * rate + '</td>'; } else { table_td += '<td>¥' + parseInt(price[j]*i) * rate + '</td></tr>'; } } } if(i==100){ table_kosuu = '<tr><td>' + i + '個</td>'; for ( var j = 0; j < price.length; j ++ ) { if(j < price.length-1){ table_td += '<td>¥' + parseInt(price[j]*i) * rate + '</td>'; } else { table_td += '<td>¥' + parseInt(price[j]*i) * rate + '</td></tr>'; } } } document.getElementById('priceTableOutput').innerHTML = list_name[0] + table_start + table_head + table_kosuu + table_td; + table_end; } } window.onload = function() { // 読込み後も一度テーブル表示を実行する calc(); } </script> </head> <body> 再計算ボタンを押すと価格表が再計算されます。<br /> <input type="radio" name="nouki" value="1" checked="checked" />通常配達 <input type="radio" name="nouki" value="1.25" />翌日配達 <input type="radio" name="nouki" value="1.5" />当日配達 <input type="button" value="再計算" onClick="calc()"> <div id="priceTableOutput">innerHTMLで、ここに表を出力</div> <br /> </body> </html>

  • ボタンを押してテキストボックスを追加しテーブルの作成

    avascriptでテキストボックスを追加したいのです。テーブルを組んで複数のnamaの違うボックスを追加したいです。 下記のようにイメージして書いたのですが、考えが詰まりました。 テーブルでなくても、2列複数行の形になればいいんですが・・・ 教えて下さい。よろしくお願いします。 <script type="text/javascript"> <!-- var tag_num = 4; function myAdd(){ var oTag = document.createElement("input"); oTag.setAttribute("type", "text"); oTag.setAttribute("name", "hoge" + tag_num++); oTag.setAttribute("name", "fuga" + tag_num++); var oDiv = document.getElementById("area"); oDiv.appendChild(oTag); } --> </script> </head> <body> <form id="form1" action="check.php" method="post"> <span id="area"> <table style="text-align: left; width: 100px;" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr> <td><input type="text" name="hoge1" value=""></td> <td><input type="text" name="fuga1" value=""></td> </tr> <tr> <td><input type="text" name="hoge2" value=""></td> <td><input type="text" name="fuga2" value=""></td> </tr> <tr> <td><input type="text" name="hoge3" value=""></td> <td><input type="text" name="fuga3" value=""></td> </tr> </tbody> </table> </span> <input type="button" value="Add" onClick="myAdd()"> </form>

  • webアプリを作ってます。

    webアプリを作ってます。 sqlの箇所で型の不一致stringからstringは変換できませんと 出てきます。 調べてもわかりませんでした。 どこが間違ってるのか教えてください。 package info.searchman; import 省略 public class Dbinsert extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; private ServletContext context; //private Connection connection; public void init(ServletConfig config) throws ServletException { context=config.getServletContext();} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out=response.getWriter(); out.println("<html><head><title>Sample199</title></head><body>"); try { int type=0; String name=null; int price=0; String html=null; //Connection con = null; type=Integer.parseInt(request.getParameter("type")); //name= request.getParameterValues("name"); //String name = request.getParameter("name"); name = redecode(request.getParameter("name")); price=Integer.parseInt(request.getParameter("price")); Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection("jdbc:postgresql:postgres","postgres","gokui"); // ステートメントオブジェクトを生成 Statement stmt = con.createStatement(); String values2 = "(\'"+type+"\', \'"+name+"\', \'"+price+"\')"; String sql="INSERT INTO commodity values " + values2 ; stmt.executeUpdate(sql); //ResultSet rs = stmt.executeQuery(sql); out.println("データを登録しました。"); //out.println("</table>"); //rs.close(); stmt.close(); con.close(); } catch(Exception e) { context.log("denaositekoi"); e.printStackTrace(out); } out.println("</body></html>"); out.close(); } private String redecode(java.lang.String parameter) { // TODO 自動生成されたメソッド・スタブ return null; } }

    • ベストアンサー
    • Java
  • 値の取得

    先日と同じ問題を出してしまい、申し訳ございません。 iの値を取得したいですが、どうしてもservlet側を取得が出来ないです。 教えてください。 <%@page contentType="text/html; charset=Windows-31J"%> <%@ page import="java.util.*" %> <%@ page import="blog.*" %> <html> <body> <script type="text/javascript"> <!-- function check(){ if(window.confirm('本当に削除してよろしいでしょうか?')){ // 確認ダイアログを表示 var element = document.getElementById("i") request.setAttribute("id", element);// return true; // 「OK」時は送信を実行 } else{ // 「キャンセル」時の処理 window.alert('キャンセルされました'); // 警告ダイアログを表示 return false; // 送信を中止 } } //--> </script> <center> <table> <form action="SeachServlet" method="POST"> <tr> <td>名前:<input type="text" name="name" size="40" value="<%if(request.getAttribute("name")!=null){%> <%=request.getAttribute("name")%><%}%>"></td></tr> <tr><td>日付: <select name="year"> <option><%if(request.getAttribute("year")!=null){%> <%=request.getAttribute("year")%> <%}%></option> <%Calendar cl=Calendar.getInstance(); int year = cl.get(Calendar.YEAR); for(int i=year-7; i<=year+3;i++){ %> <option value="<%=i %>"> <%=i %></option> <%} %> </select>年 <select name="month"> <option><%if(request.getAttribute("month")!=null){%> <%=request.getAttribute("month")%> <%}%></option> <% for(int i=1; i<=12;i++){ if(i<10){%> <option value="0<%=i %>">0<%=i %></option> <%}else{%> <option value="<%=i %>"><%=i %></option> <%}}%> </select>月 <select name="day"> <option><%if(request.getAttribute("day")!=null){%> <%=request.getAttribute("day")%> <%}%></option> <% for(int i=1; i<=31;i++){ if(i<10){%> <option value="0<%=i %>">0<%=i %></option> <%}else{%> <option value="<%=i %>"><%=i %></option> <%}}%> </select>日</td> </tr> <tr><td><input type="button" value=" 印刷 "></td> <td><input type="submit" name="seach" value=" 検索 "></td> </form> </tr> </table> <hr> <FORM> <div><input type="button" value=" 戻る " onClick="history.back()"></div> </FORM> <form action="SeachServlet" method="POST"> <% List<Loginbeans> list = (List<Loginbeans>)request.getAttribute("productlist"); if(list.isEmpty()){ out.print("該当のデータはありません。"); }else{ %> <table border="1"> <tr><th>ユーザID</th><th>名前</th><th>日付</th></tr> <% int i=0; for (Loginbeans bn : list) { i++;//この値を取得したいです %> <tr><td><%=bn.getUser_id()%><input name="use_id" type="hidden" value="<%=bn.getUser_id() %>"/></td> <td><%=bn.getName()%><input name="name" type="hidden" value="<%=bn.getName()%>"/></td> <td><%=bn.getTotal()%><input name="total" type="hidden" value="<%=bn.getTotal()%>"/></td> <td><input id="<%=i%>" type="submit" value=" 削除 " name="delete" onClick="return check()"></td> </tr> <%}}%> <input type="hidden" name ="number" value ="element"> </form> </table> </center> </body> </html> selvet側で String id = (String)request.getAttribute("id"); String ida = request.getParameter("number"); 取得できないですが・・

  • JSPにおける引数の受け渡し

    こんにちは. 今JSPのプログラムを作っているのですが,引数を送る場面で困っています. test2.jspにおいて,タイプはちゃんと表示されているのですが,IDとパスワードはnullになっています. もし宜しければ,どこが間違っているのかお教えいただけないでしょうか?よろしくお願いします. 【test.jsp】 ~省略~ <%String type="aaa";%> <?xml version="1.0" encoding="Shift-JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> ~省略~ </head> <body> <div class="abc"> <h1>タイトル</h1> <form action="test2.jsp" method="post"> <p> <table> <tr> <td>ID</td> <td><input type="text" name="user_id" /></td> </tr> <tr> <td>パスワード</td> <td><input type="password" name="user_pass" /></td> </tr> </table> <br /> <input type="button" value="ログイン" onclick="test('test2.jsp?type=<%=type%>')" /> </p> </form> </div> <script type="text/javascript" src="test.js"></script> </body> </html> 【test2.jsp】 ~省略~ <% String type=request.getParameter("type"); String user_id=request.getParameter("user_id"); String user_pass=request.getParameter("user_pass"); %> ~省略~ <h1>タイトル2</h1> <p> <table> <tr> <td>ID</td> <td><%=user_id%></td> </tr> <tr> <td>パスワード</td> <td><%=user_pass%></td> </tr> <tr> <td>タイプ</td> <td><%=type%></td> </tr> </table> </p>

    • ベストアンサー
    • HTML
  • C#でプロパティを使わずXMLにデータを保存したい

    C#を使っているのでC・C++のジャンルでいいのか分からないのですがこちらで質問させて下さい。 現在簡単な本の管理をするアプリを作っています。 プロパティをできるだけ使わずにカプセル化して作っていたのですが、肝心のデータを保存する段階で分からなくなりました。 public class Book { private static int _id_gen; private int _id2; private string _isbn; private string _name; public Book(string isbn, string name) { this._isbn = isbn; this._name = name; } } このようにコンストラクタでデータを渡して get プロパティだけあとで追加するようにしています。 こういうデータを保存する際はまとめて保存するのではなくて List<Book> なんかを foreach で回して1件ずつ保存するといいのでしょうか? 読み込む際は1件ずつ読み込んでクラスに設定していくというのが標準的な考え方ですか? 「C# XML 保存」で検索をかけると XmlSerializer でまとめて保存する事例ばかりでちょっと分からなくなってしまいました。 よろしくお願いします。

専門家に質問してみよう