質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • Java

    14145questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Java EE

    376questions

    Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

  • Struts

    188questions

    StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

リダイレクトを使っての出力 struts tomcat java

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 916

chiba000

score 5

研修の下記プログラムが動作せず、困っています。
環境はecripse4.3 stルts tomcat6 です。

どなたかアドバイスをいただけませんか?


package jp.co.haduki.strutssample.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jp.co.haduki.strutssample.actionform.SampleForm;
import jp.co.haduki.strutssample.logic.SampleLogic;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class SampleAction extends Action {

    public ActionForward doPost(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response, Object calString) {

        SampleLogic logic = new SampleLogic();

        SampleForm sampleForm = (SampleForm) form;

        request.getAttribute("calString");

        if (sampleForm.getText1() != null) {
            if (!sampleForm.getText1().equals("")) {
                logic.executeBusinessLogic(form);
                return mapping.findForward("success");
            }
        }

        return mapping.findForward("error");
    }
}


package jp.co.haduki.strutssample.action;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jp.co.haduki.strutssample.actionform.CalkForm;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public class calkAction extends Action {

    public void doGet(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException{

        CalkForm calkForm = (CalkForm) form;

        String text1 = calkForm.getText1();
        String text2 = calkForm.getText2();
        String text3 = calkForm.getText3();

        int text1calk = Integer.parseInt(text1);
        int text2calk = Integer.parseInt(text2);
        int text3calk = Integer.parseInt(text3);

        Calendar cal = Calendar.getInstance();

        cal.add(Calendar.YEAR,-text1calk);
        cal.add(Calendar.MONTH,-text2calk);
        cal.add(Calendar.DATE,-text3calk);

        String calString = new SimpleDateFormat("yyyy/MM/dd").format(cal.getTime());

        request.setAttribute("calString", calString);
        response.sendRedirect("/Sample");

        mapping.findForward("calk");
    }

}


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>

<html:html>
  <head>
    <title>結果画面</title>

  </head>

  <body>
    あなたが入力したのは<bean:write name="sampleForm" property="text1" />です<br>
  <body>
</html:html>

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Hiroshi-Aoki

    2016/04/20 19:04

    A-pZさん。確認されている意図はわかりますが、質問に質問で返されると質問した側としては苦しくなります。A-pZさんにはある程度頭にこうだろうというイメージがあるのではないでしょうか。そうでしたらその想定を前提に回答欄に回答をしていただくと良いと思います。

    キャンセル

  • Hiroshi-Aoki

    2016/04/20 19:08 編集

    chiba000さん。struts.xmlと入力のJSPのソース(SampleActionを呼び出すJSP)も公開してもらえると全体像が具体的にわかると思います。公開願います。

    キャンセル

  • A-pZ

    2016/04/22 01:16

    ローカルホストで何も表示されない、とのことですので、以下の内容も具体的に追記してくださると、正解が得られると思います。 * struts-config.xml * JSPファイル(ファイル名も一緒に)

    キャンセル

回答 1

checkベストアンサー

+1

struts java リダイレクトについて
で質問されていた内容の続きと思います。
基本的なStrutsを使った作り方は理解されていると思います。先の質問の内容を実現する画面遷移の部分についてもやもしている印象を受けています。情報の追加・修正欄にお願いを記述しました。ご覧いただき情報公開いただければと思います。その情報を受けて回答を追記したいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/22 10:38

    ご協力ありがとうございました。皆さんのコメントを参考に解決できました!

    キャンセル

  • 2016/04/23 14:32

    解決できてよかったです。
    A-pZさんのコメントがヒントになったのだと思います。解決につながるコメントだったと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    14145questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Java EE

    376questions

    Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

  • Struts

    188questions

    StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。