[JAVA] [Struts] So übergeben Sie Werte zwischen jsps

Wie man den Wert von jsp durch das Struts-Framework 2 übergibt Ich werde das Muster aufschreiben.

① Wie komme ich mit << bean: parameter >>?

addition.jsp


<%@ page contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

<html:html>
  <head>
    <title>Zusatz</title>
    <meta http-equiv="Content-Type"
                  content="text/html; charset=Windows-31J">
  </head>
<body>

<html:form action="/TestAction">
  <html:text property="leftNum" size="10" maxlength="7" /> +
  <html:text property="rightNum" size="10" maxlength="7" />
  <html:submit property="submit" value="Lauf"/>
</html:form>
</body>
</html:html>

Action.java wird wie folgt beschrieben.

TestAction.java



public final class TestAction extends Action {
  public ActionForward execute(ActionMapping mapping,
                               ActionForm form,
                               HttpServletRequest req,
                               HttpServletResponse res) {

    TestActionForm taf = (TestActionForm)form;

    //Rufen Sie den Wert aus der TestActionForm ab
    int leftNum  = taf.getLeftNum();
    int rightNum = taf.getRightNum();
    int resultNum = 0;

    resultNum = leftNum + rightNum;

    //Legen Sie das Berechnungsergebnis in TestActionForm fest
    taf.setResultNum(resultNum);

    //Geben Sie das Übergangsziel nach Ausführung der Aktionsklasse an.
    return (mapping.findForward("result.jsp"));
  }
}

Definieren Sie wie folgt in struts-config.xml.

struts-config.xml


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>

	<form-beans>
		<!--Legen Sie die ActionForm-Klasse fest, um Daten in Bean zu speichern-->
		<!--Name ist eine Abkürzung, Typ ist ein Dateiname einschließlich Pfad-->
		<form-bean
			name="Action"
			type="struts.TestActionForm"/>
	</form-beans>

	<action-mappings>
		<!--action legt die Action-Klasse fest, die tatsächlich verarbeitet wird-->
		<!--Pfad ist eine Abkürzung, wenn durch jsp angegeben-->
		<!--Name ist die zu verwendende Bohne(ActionForm)Abkürzung für-->
		<!--Typ ist der Dateiname einschließlich Pfad-->
		<!--Umfang ist ein Datenübertragungsformat-->
		<!--Eingabe wird ausgeführt jsp-->
		<action
			path="/Welcome"
			forward="/pages/Welcome.jsp"/>
		<action
			path="/TestAction"
			type="struts.TestAction"
			name="Action"
			scope="request"
			input="/addition.jsp">
			<forward name="result.jsp" path="/result.jsp"/>
		</action>
	</action-mappings>
	<message-resources parameter="java/MessageResources"/>
</struts-config>

Verwenden Sie Folgendes für jsp des Berechnungsergebnisses.

result.jsp


<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<bean:parameter id ="left_Num" name ="leftNum"/>
<bean:parameter id ="right_Num" name ="rightNum"/>

<html:html>
  <head>
    <title>Berechnungsergebnis</title>
    <meta http-equiv="Content-Type"
            content="text/html; charset=Windows-31J">
  </head>
<body>
<%= left_Num %> + <%= right_Num %> =

</body>
</html:html>

Geben Sie im Tag <bean: parameter> den Anforderungsparameter ein, den Sie für den Namen verwenden möchten, und geben Sie einen geeigneten Wert für id ein. Eine Variable wird im Seitenbereich gespeichert, indem sie in id definiert wird. Was ist der Seitenumfang? Dies bedeutet, dass der effektive Bereich der Variablen innerhalb von jsp liegt.

Geben Sie 3 in das linke Textfeld und 4 in das rechte Textfeld ein und klicken Sie auf die Schaltfläche Ausführen. Dann ist das Ausführungsergebnis wie folgt.

3 + 4 =

Der Wert wurde übergeben. Da <bean: parameter> ein Tag ist, das den Anforderungsparameter erfasst und auf dem Bildschirm anzeigt, kann das Berechnungsergebnis nicht angezeigt werden. Erhalten Sie also das Berechnungsergebnis mit der folgenden Methode.

② Wie komme ich mit << bean: write >>

Fügen Sie jsp des Berechnungsergebnisses einen Satz hinzu.

result.jsp


<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<bean:parameter id ="left_Num" name ="leftNum"/>
<bean:parameter id ="right_Num" name ="rightNum"/>

<html:html>
  <head>
    <title>Berechnungsergebnis</title>
    <meta http-equiv="Content-Type"
            content="text/html; charset=Windows-31J">
  </head>
<body>
<%= left_Num %> + <%= right_Num %> =

<bean:write name="Action" property="resultNum" scope="request" /> 

</body>
</html:html>

Geben Sie als Namen den in struts-config.xml definierten Bean-Namen ein. Geben Sie als Eigenschaft den Bean-Eigenschaftsnamen ein (in Formular definierte Variable). Der Bereich definiert, wo gesucht werden soll. Da das Berechnungsergebnis in der HTTP-Anforderung gespeichert ist, wählen Sie diesmal die Anforderung aus. Folgende Elemente können im Bereich festgelegt werden.

Seite: JSP-Seite Anfrage: HTTP-Anfrage Sitzung: HTTP-Sitzung Anwendung: Webanwendung

Geben Sie wie zuvor 3 in das linke Textfeld und 4 in das rechte Textfeld ein und klicken Sie auf die Schaltfläche Ausführen. Das Berechnungsergebnis wird ebenfalls angezeigt.

3 + 4 = 7

Ich konnte die Berechnungsergebnisse übergeben! !!

Recommended Posts

[Struts] So übergeben Sie Werte zwischen jsps
So übergeben Sie Oracle Java Silver
Java: So senden Sie Werte von Servlet zu Servlet
So übergeben Sie den Wert an einen anderen Bildschirm
[Spring MVC] Übergeben von Pfadvariablen
So wechseln Sie zwischen mehreren Java-Versionen
Verwendung der Scope- und Pass-Verarbeitung (Servist)
[Ruby] Wie erhalte ich den Wert von der Standardeingabe?
Ruby So konvertieren Sie zwischen Groß- und Kleinschreibung
Verwendung von Struts2 * Spring Framework (Spring Plugin) Version Juni 2017
So übergeben Sie Bildpixelinformationen nativ aus Unity
So entwickeln Sie OpenSPIFe
So rufen Sie AmazonSQSAsync auf
Wie schreibe ich Rails
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von java.util.logging
Verwendung der Karte
Schritte zum Bereitstellen von Struts 2.5.8
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
So installieren Sie Docker
So deinstallieren Sie Rails
So installieren Sie Docker-Maschine
[Verwendung des Etiketts]
Wie man ein schattiertes Glas macht
Wie schreibe ich Docker-Compose
Wie man Identität benutzt
Wie man Hash benutzt
Wie schreibe ich Mockito
So erstellen Sie Docker-Compose
So installieren Sie MySQL
So schreiben Sie eine Migrationsdatei
Wie man android-midi-lib baut
Verwendung von Dozer.mapper
Wie benutzt man Gradle?
Verwendung von org.immutables
Verwendung von java.util.stream.Collector
Verwendung von VisualVM
Verwendung von Map
Wie man einen Schrägstrich zurückschlägt \
So verketten Sie Zeichenfolgen
Ich habe zum ersten Mal seit einiger Zeit einen DB-Suchprozess in Rails geschrieben und untersucht, wie eine Datumsvergleichssuche geschrieben wird. Deshalb habe ich ein Memo geschrieben. Die meiste Zeit, wenn ich nach etwas anderem suchte, wie SQL schreiben oder Arel verwenden, konnte ich es wie folgt schreiben. Das Gegenteil ist wahr. So verhindern Sie Konflikte zwischen Ruby, dem Rails JBoss-Modul und der Anwendungsbibliothek
So übergeben Sie ein Objekt in MyBatis an Mapper, ohne ein Argument durchzugehen
Unterschied zwischen Java und JavaScript (wie man den Durchschnitt findet)
So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)
[Rails] Verschiedene Unterschiede zwischen redirect_to und Render-Methode und Ausgabemethode der Render-Methode
Unterschiede im Umgang mit Zeichenfolgen zwischen Java und Perl
[Rails 5] Verwendung von gem gon ~ Übergabe von Variablen von Rails an JS ~
So wechseln Sie in Netty dynamisch zwischen FIN und RST