• 締切済み

JSPのカスタムタグについて

現在JSPのタグファイルを解読しているのですが、以下の分が理解できず、困っています。 <c:choose> <c:when test="${!empty param['cnt'] and !empty param['page']}"> ・・・ Coreタグの使い方はわかるのですが、"${!empty param['cnt'] and !empty param['page']}"の一行の意味がわかりません。 特に、cntとpageという変数がいきなり出てきたので、どのようなものなのかがわからない所です。 ぜひ御教授よろしくおねがいします。

みんなの回答

回答No.3

<c:if test="${page > 1}"> <a href="index.jsp?cnt=${cnt-5}&page=${page-1}"> 【前ページへ】</a> </c:if> <a href…に、cntとpageが反映されます。pageが1以上の時にHTMLの<A>タグを作っています。1ページに5件表示されるのではないですか? 例えばcnt=10,page=2の場合は、 <a href="index.jsp?cnt=5&page=1">【前ページへ】</a> というHTMLになります。pageが1未満の場合はこのタグは作られません。 >そのような名前のリクエストデータを探してみたのですが どんな探し方をしたのですか。どこかのファイルに書かれているものではありません。

naito238
質問者

お礼

返事が遅くなり申し訳ありません。 ありがとうございます。 burroughs6様のおっしゃる通り、1ページに5件ずつ表示するようなものです。 関連するファイルは全て見ました。 cntとpageは宣言無しで使用可能ということでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

> cntとpageはどのような値なのでしょうか 参考URLでリクエストデータについて理解してください。 リクエストデータに「名前=値」の形式で複数のデータが入れることができますが、cntとpageは名前に相当します。セットするのはサーバの側のプログラムですので、その役割も実際の値もお答えしようがありません。 <c:when test… 以下のコードがわからないので想像ですが、cntとpageがあればその値を使ってHTMLの何かのタグにを編集していると思います。

参考URL:
http://www.thinkit.co.jp/free/article/0604/7/6/
naito238
質問者

お礼

御返事ありがとうございます。 そのような名前のリクエストデータを探してみたのですが、見当たりません。 掲示板でのスレッドを操作するファイルなのですが、 <c:choose> <c:when test="${!empty param['cnt'] and !empty param['page']}"> <c:set var="cnt" value="${param['cnt']}" /> <c:set var="page" value="${param['page']}" /> </c:when> <c:otherwise> <c:set var="cnt" value="0" /> <c:set var="page" value="1" /> </c:otherwise> </c:choose> <c:if test="${page > 1}"> <a href="index.jsp?cnt=${cnt-5}&page=${page-1}"> 【前ページへ】</a> </c:if> <a href="RecNewBbs.jsp"> 【新規作成】</a> ・・・ JSPのファイルからこのタグファイルを呼び出しています。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

empty:nullまたは空文字列 param:リクエストパラメーター リクエストパラメーター"cnt"があり、かつ、リクエストパラメーター"page"がある。

参考URL:
http://www.thinkit.co.jp/cert/article/0604/7/6/2.htm
naito238
質問者

お礼

早速の御返事ありがとうございます。 cntとpageはどのような値なのでしょうか? いきなり出てきたので、どーいった役割の値が入っているのかがわかりません。 それとも、こちらのファイルのどこかで定義しているものなのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • jspでこんなエラーが出ます

    <%@ page contentType="text/html;charset=Windows-31J" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:if test="${param.num le 50}"> クエリ情報numは50以下です </c:if> <c:if test="${param.num gt 50 and param.num le 100}"> クエリ情報numは50より大きく、かつ、100以下です </c:if> <c:if test="${param.num gt 100 and param.num le 500}"> クエリ情報numは100より大きく、かつ、500以下です </c:if> <c:if test="${param.num gt 500}"> クエリ情報numは500より大きいです </c:if> と入力してしるんですが type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: 絶対URI: http://java.sun.com/jsp/jstl/core はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません と言ったエラーが出てしまいます。なにか設定を間違えているのでしょうか?

    • ベストアンサー
    • Java
  • jsp:paramアクションタグで配列を渡す方法

    jsp:paramアクションタグで、valueに配列やオブジェクトを指定 して渡すことってできないのでしたっけ? 下記のような感じで渡したかったのですが。 ご存知の方おりましたら、是非ご教授ください。 <% String b[] = {"bb1","bb2"}; %> <jsp:include page="test11.jsp" flush="false" > <jsp:param name="b" value="<%=b%>" /> </jsp:include>

    • ベストアンサー
    • Java
  • JSTLを利用してJavascriptの結果を表示したい

    初心者です。 JSTLタグを利用してJSPを作成しているのですが、 javascriptのfunction checkStr()の結果をケースに応じて表示したいと思っています。 そこで、以下の条件1と条件2にfunctionから返される結果を入れたいのですが、どのようにしたらいいのか書き方そのものがわかりません。 そもそも それが可能なのかどうかもわからないのですが・・・ javascriptの中にJSTLタグを使用することが可能なのはわかったのですが、できれば上記の方法で書きたいと思います。 <c:choose> <c:when test="条件1checkStr()が○○なとき"> 条件1がなりたったとき </c:when> <c:when test="条件2checkStr()が△△なとき"> 条件1がなりたたず条件2がなりたったとき </c:choose> ネットでも色々調べたのですが、調べ方が下手なのか、発想がおかしいのか・・・お知恵をお貸しください・・・よろしくお願いします!

    • ベストアンサー
    • Java
  • JSPタグの属性値に変数を指定

    JSPのタグのattributeの値を、固定テキストでなく 変数の値を指定するような書き方はできますか? イメージとしてはこんな感じで。 ----- <%-- hogehoge.jspへフォワード --%> <% String url = "hogehoge.jsp"; %> <jsp:forward page="<%= url %>" /> -----

    • ベストアンサー
    • Java
  • JSP内での不思議な挙動

    現在、webアプリを作成(Springフレームワークを使用)していてJSPにて不思議な 挙動を起こしたので質問させてください。 要点としては<img src="/Test/">(Testはrequest.getContextPathにて取得) というタグがJSP内にあった場合、何か特別な挙動を起こすのかということです。 以下に詳細を記述します。 JSP内に以下のようなimgタグが生成されることを期待してJSPを作成しました。 <img src="/Test/img/xxx.jpg"> (img/xxx.jpgの部分は変数で記述。Testの部分もrequest.getContextPathにて取得) しかし、バグで変数から値が受け取れず <img src="/Test/">という形式のimgタグが生成されてしまいました。 問題はここからでこの状態で画面上にあるボタン(次画面遷移)を押下してPOSTされた場合、 ログイン画面に遷移してしまいました。(インターセプター内でログイン情報が取得できなければ ログイン画面に遷移するように記述されているため) ところが直書きにて<img src="/Test/aaaa">などとTestの後ろに適当な値のタグを 作成し、ボタン(次画面遷移)を押下すると正常に次画面に遷移しました。 imgタグの画像のURLがTest(Webアプリ名)だけだと何か特別な動作をしてしまうものなので しょうか。

    • ベストアンサー
    • Java
  • JavaでStrutsを使用してJSP画面のインクルードを行う場合について

    JavaでStrutsを使用してJSP画面のインクルードを行う場合について 改修を行いたい画面では現在、他の画面をインクルードディレクティブを使用して呼んでいます。 今回、呼んでいる先の表示項目が固定でなく、条件により変更されるように変更したいと思っています。 しかし、インクルードディレクティブを使用すると、呼んでいる先の画面の表示項目に変数を使用できないときいたため、以下の修正を行い、変更後の画面を見たところ、呼んでいる先の画面が表示されていませんでした。 ・インクルードアクションを使用して呼ぶように変更 (AAA.jspは呼んでいる先のJSP名)) 変更前 (<%@ include file="AAA.jsp"%> 変更後 <jsp:include page="AAA.jsp" flush="true"> <jsp:param name="count" value="<%= count1 %>" /> <jsp:param name="count" value="<%= count2 %>" /> </jsp:include> ※count1,count2は、JSP内で定義している変数が設定されています。 と、変数を2つ使用しています。 、画面にエラーメッセージは表示されないため、原因について、記述内容を考えたのですが、改修を行った画面と呼んでいる先の画面は、同一フォルダ内にあるため、問題ないと考えています。 インクルードディレクティブからインクルードアクションに変更したのみで、ページのインクルードができなくなることってあるのでしょうか? それとも、インクルードディレクティブとインクルードアクションの違いは <%@ include file="AAA.jsp"%> と <jsp:include page="AAA.jsp" flush="true" /> だけではなく、別のところでも設定変更が必要なのでしょうか? 素人な質問で申し訳ありませんが、 ・インクルードディレクティブからインクルードアクションに変更するときに画面が表示されなくなった理由 ・インクルードディレクティブを使用して、呼んでいる先の画面から変数を取得する方法 のどちらかがわかる方いらっしゃいましたら教えてください。 ちなみに、 <jsp:include file="AAA.jsp" flush="true" /> だったとか、そういうミスはしていません。

    • ベストアンサー
    • Java
  • jspでjavascript関数へ引数を渡す方法

    最近Webアプリの勉強をし始めたばかりの初心者です。 今、jspでjavascript関数へ引数を渡す方法がうまくいかず困っています。 以下はjspファイルの該当部分の抜粋です。 やりたいこととしては、画面上で参照ボタンを押したときに、"reference"という文字列を 一度javascript関数を介してサーブレットへ渡すということです。 <head> <script type="text/javascript"> <!-- function func(param){ alert(); document.getElementById("param").name = param; } // --> </script> </head> <form action="/tomcat_test/servlet/hello" method="POST"> <input type="hidden" name="param" id="param"> <input type="button" value="参照" onclick=<%= "func('reference')" %>/> </form> いろいろ調べてみたのですが、なかなかうまくいかずに困っています。 そもそも、参照ボタンを押してもonclickがうまく動いていないようで、 まずその問題を解決したいです。 onclickタグの使い方を間違っているのでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • JSPのページが表示されません

    初めまして。 JSPについて質問があります。 現在OSはRedHatLinux7.2で、JDK、Tomcat、Pathの環境変数の設定を行ない、Tomcatを起動させ、Servletの動作("Hello World!"という文字列を表示するのみ)を確認した段階です。Servletの動作の際にTomcatをインストールした直下のconfディレクトリ内のserver.xmlに以下のスクリプトを追加しました。 <Context path="/test"    docBase="webapps/test" crossContext="false" debug="0" reloadable="true" > </Context> Servletに関しては上記の設定とTomcatとPCの再起動で動作を確認できたのですが、JSPの方は[Internal Error: 500 Servlet Error]が出て表示されませんでした。 ちなみにJSPファイルの位置はtestディレクトリ直下のjspディレクトリ内にあります。 ・hello.jspのスクリプト <%@page contentType="text/html;charset=euc-jp" %> <html> <head> <title>JSPTEST</title> </head> <body> <% out.println("HELLO WORLD!"); %> </body> </html> ・JSPファイルを表示するアドレス http://localhost:8080/test/jsp/hello.jsp ここで質問なのですが、JSPに関しても何か設定が必要なのでしょうか? もし何か分かることがありましたら、ご教授御願い致します。

    • ベストアンサー
    • Java
  • JSP内で外部jsファイルを指定する

    昨日から散々悩んでいます。 tomcatのJSPから外部jsファイルが読み込めません。 最初htmlのみでテストしたのですが そのときは何の問題も無く動きました。 URLの指定の仕方かなと思いましたが、 cssのほうは同じ指定の仕方で効いています。 <!---------- JSP内容 ------------------------> <!-- [テスト]ボタン押下でscript実行 --> <html> <head> <title>テスト</title> <script Language='JavaScript'    type='text/javascript' charset="shift_jis" src='/Test/script/Script.js'> </script> <script language='JavaScript' type='text/javascript'> <!-- function test(){ jstest(); } function test1(){ alert("test1:OK"); } // --> </script> <link rel="stylesheet" href="/Test/css/Style_ver1.css" type="text/css"> </head> <body> <form> <input type='button' class="button" value='テスト' onclick="test()"> </form> </body> </html> <!---------- 外部js内容------------------------> function jstest(){ alert("jstest:OK"); } <!---------------------------------------------> onclick="test1()"にすると動きます。 以前に作られた別アプリケーションのJ2EEのソースを見ると、 src=<c:url とcoreタグが使用されています。 coreタグの使用なしにURLを書くことはできないのでしょうか? すいませんが、どなたか教えてください。 宜しくお願いします。

    • ベストアンサー
    • Java
  • jspでbeanを使いたいのですが...

    お世話になります。 JSPコード内のjavaプログラムをBeanとして読み込むようにし、インスタンスを作ってエラーにならないか試したところ、クラスが認識されないエラーが起きてしまいました。 他の記述やテキスト、サイト様を参考に手直しをしてみたもののうまく行かず、何だかわからなくなってしまいました... ご教授お願いいたします。 OS:WindowsVista サーブレット:Tomcat 参考テキスト:java+MySQL+Tomcatで始めるWebアプリケーション ファイルの階層 Desktop─test─jamyto┬aura─aurabottle.jsp            └WEB-INF─classes─auras┬IdMake.java                         └IdMake.class aurabottle.jsp側 <%@ page contentType="text/html; charset=Windows-31J"%> <%@ page import="java.sql.*"%> <%@ page import="java.util.*"%> <%@ page import="auras.IdMake"%> <%auras.IdMake idmake = new auras.IdMake();%>    以下JSPコード IdMake.java側 package auras; import java.sql.*; public class IdMake { StringBuffer sb = new StringBuffer(); public int barthDay (String strYear, String strMonth, String strDay){ 以下Javaコード エラー文面 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSP FileName:null Java FileName:/C:/Program Files/Apache Software Foundation/Tomcat 5.5/work/Catalina/localhost/aura//org/apache/jsp\aurabottle_jsp.java An error occurred at line: 6 in the generated java file Only a type can be imported. auras.IdMake resolves to a package JSP FileName:/aurabottle.jsp Java FileName:/C:/Program Files/Apache Software Foundation/Tomcat 5.5/work/Catalina/localhost/aura//org/apache/jsp\aurabottle_jsp.java JSPファイル: /aurabottle.jsp の中の7行目でエラーが発生しました auras.IdMake cannot be resolved to a type

    • ベストアンサー
    • Java
現在の事業展開について考える
このQ&Aのポイント
  • 株主割合増資実施中なので、展開が不透明
  • レダグループとの業務提携により業績向上の可能性
  • 運転資金借入などの困難な状況を脱出し、成功ビジョンを描いているか
回答を見る