トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

JSPの基本:フォームを使わない値の受け渡し

フォームを使わないパラメータの受け渡し

  • パラメータをURLに書くことでフォームを使わずとも値を渡すことができる
  • GETメソッドになるので、英語以外の場合には文字コード設定を行う必要がある

書式

<A HREF="<URL>?<パラメータ名>=<値>">リンク名</A>

フォームを使わないパラメータ受け渡しの例:jyanken.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@page import="java.util.Random"%>
<%!
    enum じゃんけん {
        ぱー, ちょき, ぐー;
        private static Random random = new Random(); //乱数生成器
        public static じゃんけん nextRandom() {
            return じゃんけん.values()[random.nextInt(じゃんけん.values().length)];
        }
        public static int 勝利判定(じゃんけん a,じゃんけん b) {    //aから見た勝利判定
            int x = a.ordinal() - b.ordinal();
            if(Math.abs(x)==2) {
                x=-x;
            }
            return x;
        }
    };
%>
<HTML>
    <BODY>
    じゃんけん、ぽん!
<%
    for (じゃんけん 手:じゃんけん.values()) {
        out.println("<A HREF=\""+request.getRequestURI()+"?te="+手.ordinal()+"\">"+手+"</A>");
    }
    じゃんけん プレイヤー=null, コンピュータ;
    if(request.getParameter("te")!=null) {
        for (じゃんけん 現在の手:じゃんけん.values()) {
            if (request.getParameter("te").equals(""+現在の手.ordinal())) { //何を出しているか
                プレイヤー = 現在の手;
            }
        }
    }
    if (プレイヤー!=null) {
        コンピュータ = じゃんけん.nextRandom();
%>
    <br/>
    <br/>
    勝負の結果
    <br/>
    <br/>
    プレイヤーの手 <<%=プレイヤー %>> ⇔ コンピュータ の手<<%=コンピュータ %>>
    <br/>
    <br/>
<%
        int result = じゃんけん.勝利判定(プレイヤー,コンピュータ);
        if(result==0) {
            out.println("アイコです。<BR>けっこう調子いいんじゃないですか。");
        } else if(result>0) {
            out.println("あなたの勝ちです。<BR>はっきり言ってまぐれ勝ちでしょう。");
        } else {
            out.println("わたしの勝ちです。けっ!<BR>首を洗って出直してきてちょ。");
        }
    }
%>
    </BODY>
</HTML>

最終更新時間:2007年10月27日 21時11分36秒