CH 04動作ラベル1
66721 ワード
アクションタグ
※ XML(extend markup language)
-html拡張機能
-eml:電子メール拡張子
->優先パラメータで使用する詳細
->htmlに比べて文法的に厳格で機能が多い
->Androidでxmlデザインページを使う
*アクションラベルの種類
4-1 include Tag
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"/>
</head>
<body>
<h1>Forward Tag Example1</h1>
<FORM METHOD=POST ACTION="forwardTag1_1.jsp">
아이디 : <INPUT NAME="id" value="aaa"><p>
패스워드 : <INPUT TYPE="password" NAME="pwd" value="1234"><p>
<INPUT TYPE="submit" VALUE="보내기">
</FORM>
</body>
</html>
=>>結果<%@ page contentType="text/html; charset=EUC-KR"%>
<%
request.setCharacterEncoding("EUC-KR");
%>
현재의 페이지는 동적인 값으로 인한 다른 페이지 전달(경유)의 목적으로 존재
현재 페이지의 텍스트는 보이지 않음.
forwardTag1.html에서 요청된 id, pwd도 같이 전달된다.
<jsp:forward page="forwardTag1_2.jsp"/>
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
%>
id : <%=id %>
pwd : <%=pwd %>
=>>結果ex02)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"/>
</head>
<body>
<h1>Forward Tag Example2</h1>
<FORM METHOD="get" ACTION="forwardTag2_1.jsp">
혈액형별로 성격 테스트<p/>
당신의 혈액형은?<p/>
<INPUT TYPE="radio" NAME="bloodType" VALUE="A">A형<br>
<INPUT TYPE="radio" NAME="bloodType" VALUE="B">B형<br>
<INPUT TYPE="radio" NAME="bloodType" VALUE="O">O형<br>
<INPUT TYPE="radio" NAME="bloodType" VALUE="AB">AB형<br>
<INPUT TYPE="submit" VALUE="보내기">
</FORM>
</body>
</html>
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
String name=「浦吉洞」;
String bloodType = request.getParameter("bloodType");
%>
<h1>Forward Tag Example2</h1>
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<b><%=name%></b>님의 혈액형은
<b><%=bloodType%></b>형이고
성실하고 신중하며 완벽주의자입니다.
<h1>Forward Tag Example2</h1>
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<b><%=name%></b>님의 혈액형은
<b><%=bloodType%></b>형이고
규격을 싫어하는 자유인입니다.
<h1>Forward Tag Example2</h1>
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<b><%=name%></b>님의 혈액형은
<b><%=bloodType%></b>형이고
강한 의지의 소유자입니다.
<h1>Forward Tag Example2</h1>
<%@page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<%=name%>님의 혈액형은
<b><%=bloodType%></b>형이고<p>
정확한 판단력을 가진 합리주의자입니다.
=>>結果4-2 include Tag
(includeディレクトリラベル<@include>主に静的ページ用)
ex01)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"/>
</head>
<body>
<h1>Include Tag Example1</h1>
<FORM METHOD="POST" ACTION="includeTag1.jsp">
이름 : <INPUT NAME="name" value="aaa"><p/>
<INPUT TYPE="submit" VALUE="보내기">
</FORM>
</body>
</html>
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");%>
<!-- include 액션 태그는 현재페이지에 요청된 정보까지 같이 넘겨줌 -->
<!-- include 액션태그 요청되는 정보에 따라 동적인 페이지가 포함 -->
<jsp:include page="includeTagTop1.jsp" />
<!-- includeTagTop1.jsp -->
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
String name = request.getParameter("name");
%>
include Action Tag의 Top입니다.<p>
<b><%=name%></b>
=>>結果ex02)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"/>
</head>
<body>
<h1>Include Tag Example2</h1>
<FORM METHOD="POST" ACTION="includeTag2.jsp">
SITENAME : <INPUT NAME="siteName" value="naver.com"><p>
<INPUT TYPE ="submit" VALUE="보내기">
</FORM>
</body>
</html>
<!-- includeTag2.jsp -->
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
String siteName = request.getParameter("siteName");
%>
사이트명 : <%=siteName%> <br>
<jsp:include page="includeTagTop2.jsp">
<jsp:param value="aaa" name="id"/>
<jsp:param value="1234" name="pwd"/>
</jsp:include>
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
%>
<br>
id : <%=id%> / pwd : <%=pwd%>
=>>結果ex03)
<!-- includeTag3.html -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"/>
</head>
<body>
<h1>Include Tag Example3</h1>
<FORM METHOD="get" ACTION="includeTag3.jsp">
혈액형별로 성격 테스트<p/>
당신의 혈액형은?<p/>
<INPUT TYPE="radio" NAME="bloodType" VALUE="A">A형<br>
<INPUT TYPE="radio" NAME="bloodType" VALUE="B">B형<br>
<INPUT TYPE="radio" NAME="bloodType" VALUE="O">O형<br>
<INPUT TYPE="radio" NAME="bloodType" VALUE="AB">AB형<br>
<INPUT TYPE="submit" VALUE="보내기">
</FORM>
</body>
</html>
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
String name = "홍길동";
String bloodType = request.getParameter("bloodType");
%>
<!-- 표현식에서 ""안에 값이 있을 때는 ''값으로 시작 -->
<jsp:include page='<%=bloodType + ".jsp" %>'>
<jsp:param value="<%=name %>" name="name"/>
</jsp:include>
<h1>Forward Tag Example2</h1>
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<b><%=name%></b>님의 혈액형은
<b><%=bloodType%></b>형이고
성실하고 신중하며 완벽주의자입니다.
<h1>Forward Tag Example2</h1>
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<b><%=name%></b>님의 혈액형은
<b><%=bloodType%></b>형이고
규격을 싫어하는 자유인입니다.
<h1>Forward Tag Example2</h1>
<%@ page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<b><%=name%></b>님의 혈액형은
<b><%=bloodType%></b>형이고
강한 의지의 소유자입니다.
<h1>Forward Tag Example2</h1>
<%@page contentType="text/html;charset=EUC-KR"%>
<%
String name = request.getParameter("name");
String bloodType = request.getParameter("bloodType");
%>
<%=name%>님의 혈액형은
<b><%=bloodType%></b>형이고<p>
정확한 판단력을 가진 합리주의자입니다.
=>>結果4-3 useBean
空のオブジェクトの作成
1)setPropertyアクションラベル
変数のプロパティ値を格納するフラグ
2)getPropertyアクションラベル
ex01)
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<script type="text/javascript">
function send() {
f=document.frm;
//f=document.forms[0];
f.action="simpleBean2.jsp";
f.submit();
}
</script>
</head>
<body>
<form name="frm" action="simpleBean.jsp">
msg : <input name="msg" value="빈을 만들자."><br/>
cnt : <input name="cnt" value="10"><br/>
<input type="submit" value="Send1">
<!-- button type은 반드시 onclick 실행 -->
<input type="button" value="Send2" onclick="send()">
</form>
</body>
</html>
<!-- LGH 2021SEP14 -->
<!-- 자바빈즈(JavaBeans) -->
<!-- SimpleBean2.jsp -->
<%@page import="ch04.SimpleBean" %>
<%@page contentType="text/html; charset=EUC-KR"%>
<%
request.setCharacterEncoding("EUC-KR");
%>
<!-- SimpleBean bean = new SimpleBean() 과 같은 기능 -->
<jsp:useBean id="bean" class="ch04.SimpleBean"/>
<%-- <jsp:setProperty property="msg" name="bean"/>
<jsp:setProperty property="cnt" name="bean"/> --%>
<jsp:setProperty property="*" name="bean"/>
msg: <jsp:getProperty property="msg" name="bean"/> <br>
cnt: <jsp:getProperty property="cnt" name="bean"/> <br>
msg2: <%=bean.getMsg() %> <br>
cnt2: <%=bean.getCnt()%> <br>
// LGH-2021SEP14
// SimpleBean.java
package ch04;
/* 자바빈즈(JavaBeans) 네이밍
* 1. 테이블명+Bean (TeamBean) - JSP 사용
* 2. 테이블+Dto (Data Transfer Object) - Spring 사용
* 3. 테이블+Vo (Value Object) - Spring 사용
**/
public class SimpleBean {
private String msg;
private int cnt;
//getter -> getXxx
public String getMsg() {
return msg;
}
//setter -> setXxx
public void setMsg(String msg) {
this.msg = msg;
}
public int getCnt() {
return cnt;
}
public void setCnt(int cnt) {
this.cnt = cnt;
}
}
usebean-scopeプロパティの例
:scopeのプロパティ値-page、session
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");%>
<%
//session.setMaxInactiveInterval(10); // 세션 유지 시간 : 10초
%>
<jsp:useBean id="pBean" class="ch04.ScopeBean" scope="page"/>
<jsp:useBean id="sBean" class="ch04.ScopeBean" scope="session"/>
<jsp:setProperty property="num" name="pBean" value="<%=pBean.getNum()+10 %>"/>
<jsp:setProperty property="num" name="sBean" value="<%=sBean.getNum()+10 %>"/>
<h2>Scope Bean</h2>
pBean : <jsp:getProperty property="num" name="pBean"/>
sBean : <jsp:getProperty property="num" name="sBean"/>
세션 id : <%=session.getId()%> <br><br><br>
<a href="scopeBean2.jsp">세션제거</a>
package ch04;
public class ScopeBean {
private int num;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
<%@ page contentType="text/html; charset=EUC-KR"%>
<%request.setCharacterEncoding("EUC-KR");
session.invalidate(); // 세션 제거 메서드(무효화)
response.sendRedirect("scopeBean.jsp");
%>
Reference
この問題について(CH 04動作ラベル1), 我々は、より多くの情報をここで見つけました https://velog.io/@darkoz/CH04-액션-태그1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol