🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #19524

struct�ṹ����

#19524
From: 99CP~SE~ǰ�����ķ�
Date: Sun, 04 Jan 2004 06:04
252 lines
14629 bytes
һ�� ����

struts�ǻ��ڵ�ǰ��һЩ��ر�׼�Ŀ���������servlet,xml������֮�ϣ��ṩ��һ��
������ܵĿ���Դ����Ŀ���������ǿ���webӦ�õĸ��Ӷ�����ϵͳ�ĸ��Ӷȵ�Ҫ��Խ��
Խ�����ӡ��ر����ڴ������ã�������ֲ������ɲ�ǵ������ϳ���������ظ�������
ά�����ѵȡ� Struts�����ܹ�������Ӧ��model2��MVC����ģ�͡���Ȼ�����ڻ�����
�ϵĿ����в�һ��Ҫ������ȫ���ء���ǰstruts�Ƚ��ȶ��ķ��а�ʱ 1.0���Ѿ�����1.1
�IJ��Կ����档Ҫ�˽���ϸ����Ϣ�����½www.apache.org/struts .
���� ����ṹ����

�ڵ��������ҵ�����MVC�ṹ��struts�ṹ��ͼ�Ρ������ҾͲ��Խṹͼ����������ֻվ
�ڶ�J2EE WEB Ӧ�õ���ر�׼�˽�Ļ�����struts�����ܽ���һ������

��ʵstruts�����ȫ�ǻ���J2EE��ؼ����ͱ�׼֮�ϵġ�Struts�ṩһ��servlet����Ϊ
�������Կͻ��˵���Ӧ�������ת�Ӹ��̨��ģ�͡���Ϊ��ʹ���������ܹ����룬�ṩ
��Ӧ�������ļ���struts-config.xml����������ʹ������ӳ�䡣������ӳ����ȫ��
�� java�������෴�����Ӧ��������˼�����ͨ������չ��ʵ����Ӧ����ͼ��ģ�͵�
��ϵ������ṹ��������ģ��벻Ҫ�ٶ��롣

�� ��ϸ����˵��

������

��struts�Լ�ʵ�֣�ʵ����Ϊorg.apache.struts.action.ActionServlet��������ֻ��
����Ӧ����ӳ��������web.xml�ļ��Ϳ��ԡ�

������������

����ֻ�����еij�ʼ������application���Խ��ܣ���ʵ����struts������������ʱ��Ҫ
������Ϣ�������ļ������������ļ��ĸ�ʽ��ȫ����java�����ļ���Ҫ�������ļ���
�����������λApplicationResources����Ȼ���ǿ����޸ģ������ļ���·�������� 
web-inf/classes/������Ӧ�İ�Ŀ¼��

�

����struts��������¶�������Ӧ��ģ����������Ϊϵͳ״̬ģ�ͺ�ҵ���߼�����Щ��
�������struts��Ӧ��struts���п����Ǻ���Ҫ�ġ���������ֻ����������Ҫ���࣬һ
���ǽ�����Ӧ���������ά��java bean�࣬��һ���ǽ�����Ӧ���������ͨ�ࡣǰ��
��struts��Ҫ��̳�org.apache.struts.action.ActionForm �࣬������struts�ṩ��
������Ҫ�̳�org.apache.struts.action.Action�࣬Ҳ��struts�ṩ���ڵ�һ��ʵ�ֵ�
 bean�У��������Ա���Ҫ�Ϳͻ�����ĸ����ֶ���ƶ�Ӧ��Ŀ������ɿͻ�������ݵ�
�Զ�����ȡ����������������һ��ʵ�¾Ϳ����ˣ���ֻҪ������������Ҫ��struts��
���Ὣ�ͻ��˵������������Ӧ��javabean�С��������ǿ���������Ӧ������������ʵ
�ֶ�Ӧ��javabean�ĸ����ֶε�У������ã���ȷ���������ǵ�Ҫ�������������ֱ�
Ϊpublic ActionErrors validate(ActionMapping actionMapping, 
HttpServletRequest httpServletRequest)��public void reset(ActionMapping 
actionMapping, HttpServletRequest httpServletRequest)���ڵ�һ�������з���һ��
��Ӧ�Ĵ������������������Զ���ӵ�һ������������У�����ֱ�ӿ����ڱ�ʾ
��Ĵ����н��е��ã������ñ������ʾ��ǰ�����������Ϣ���ڶ���reset��������

��ͼ

��ͼ��struts���Զ����һЩ��ǿ⣬��ʵû��struts����Ϊ�˽����ͼ�ʹ���ķ���
���������ȡһЩ�Զ����ǿ⡣��Ȼ�� jsp����չ��ǿ�Ӧ���У�Ҳ����Ӧ�ı�ǹ�
����ʹ�á���Ϊ�˺�struts�ܽ��н��ܵĽ�ϣ���ʹ��strutsʱ���ǿ����ʵ�����strut
s�ṩ�ı�ǿ⡣��һЩͨ��jsp��׼�ı�Ǿ���ʵ�ֵģ��������ィ��ʹ�����ǡ�����
�ֱ���Щ��ǿ���н��ܡ�

Bean��ǿ⣺

ʹ�øñ��ǰ����Ҫ��jsp��ҳ�浼����Ӧ�ı�Ƕ��壬����<%@ taglib 
uri="/WEB-INF/struts-bean.tld" prefix="bean" %>��

ʹ�õķ����硣

����Ըñ�ǿ���һ���ܣ�

cookie ��������id,name , multiple,value��id�Ƕ�cookie�ڸ�ҳ���е�Ψһ��ʶ����
ҳ������ط�����ͨ��id�������á��൱����cookieֱ�����á� Name����Ӧ��cookie��
�ơ�Multiple���Ը�������ֵ������ֵ�����彫�᷵����Ӧ��ֵ������cookie����
������ֵû�б����� Value��������һ��Ĭ��ֵ������������ĵ��õ�cookie������
ʱ����ֵΪ���������valueֵ��

define���൱��jsp��ǣ�������id��name��property��scope��toScope�� type��value
��Id��cookie�е�id����ͬ������ã�name������Ӧ��scope��Ψһbean��ʶ��scope
��������Ӧ�ķ�Χ�ڽ�����Ӧ�IJ��ң�toScope�����scope���Ҳ�����Ӧ��bean������
��toScope�н�����Ӧ��bean��type�Ǹ�����ȫ��·�����ࡣ

���磺

<bean:define id="submitForm"
 scope="session" name="submitForm" 
type="struts.test.SubmitActionForm"/>
<%=submitForm.getName()%>



���磺

<jsp:useBean id="test1" scope="page" 
class="org.apache.struts.webapp.exercise.TestBean"/>
<bean:define id="test1_string" 
name="test1" property="stringProperty"/>
<bean:define id="test1_value" value="ABCDE"/>
<%= test1_string %>
<%= test1_value %>



header��ͨ��ñ�ǿ��Է�����Ӧҳ�������ͷ����Ϣ������������id��multiple��nam
e��value������ĺ����cookie�����ơ�

���磺

<%java.util.Enumeration names = 
((HttpServletRequest) request).getHeaderNames();%>
<%while (names.hasMoreElements()) {
String name = (String) names.nextElement();
%>
<bean:header id="head" name="<%= name %>"/>
<tr>
<td><%= name %></td>
<td><%= head %></td>
</tr>
<%}%>



Include��������id��name��forward��anchor��href��transacttion��page�����Ե�˵
���ο���Ӧapache����վ��

���磺

<bean:include id="index" page="/index.jsp"/>
<%=index%>
message: �����ã�������ԡ�

page:�����ã�������ԡ�

Parameter:������id��name��value��multiple����������ͻ��˵���������ֵ��



���磺

<bean:parameter id="param1" name="param1"/>
<bean:parameter id="param3" name="param3" value="UNKNOWN VALUE"/>
<%=param1%><br>
<%=param3%>



resource:������id��name��input�����input���Ա�����Ϊ����ֵ���������Դ���᷵
��һ��InputStream�����������Ļ�����Դ�������ַ�ķ�ʽ���ء�

���磺

<bean:resource id="webxml" name="/WEB-INF/web.xml"/>
<bean:write name="webxml" filter="true"/>



size:������Cellection ����Map���͵���ݽ���Ԫ�ظ���ͳ�ơ������У�id��collecti
on��name��property��scope��

���磺

<%
java.util.ArrayList data = new java.util.ArrayList();
data.add("First");
data.add("Second");
data.add("Third");
data.add("Fourth");
data.add("Fifth");
pageContext.setAttribute("list", data, PageContext.PAGE_SCOPE);
%>
<bean:size id="dataSize" collection="<%= data %>"/>

<jsp:useBean id="list" scope="page" class="java.util.ArrayList"/>
<bean:size id="listSize" name="list"/>



struts: �����ã�������ԡ�

Write: ������bundle��filter��format��formatKey��ignore��local��name��property
��scope�������÷�����������վ��

Html��ǿ⣺

ʹ�øñ�ǿ�����Ҫ����Ӧ��ҳ���������ǿⶨ���ļ����磺<%@ taglib 
uri="/WEB-INF/struts-html.tld" prefix="html" %>����ʵ�ñ�ǿ�Ĵ�����ǿ���
��html�ı����ʵ�֡�����ֵ�����޷���htmlʵ�ֵļ�����ǽ��н��ܡ�

Error: �����У�bundle��name��property��local������������Զ������壬����Ӷ�
�����ļ��е�����error.***������Ϣ��ʾ������ Bundle����Ĵ�����Ϣ����������
��û�ж��壬��Ĭ������action������Ӧ�ó��򼶴����������Name��property������
�ϴ���Ӧ��ҳ���е��ô�����Ϣ����bean����ʾ������Ϣ��Local��һ��������Ϣ���ػ�
��������Ĭ�ϻ����Ǻͱ��صķ�ʽ���?�ػ���

������Դ�ļ���Ӧ�ð�������Ӧ����Ϣ���Դ�����Ϣ����ʵ���и�ʽ����

errors.header ���д�����Ϣǰ����ʾ�����ݣ����Խ���html����

errors.footer ���д�����Ϣ�������ʾ���ݣ����Խ���html����

errors.prefix ÿ��������Ϣǰ�����ʾ��Ϣ�����Խ���html����

errors.suffix ÿ��������Ϣ�������ʾ��Ϣ�����Խ���html����

message: ������bundle��footer��header��id��local��message��property��name.��
����÷�����������վ��

Logic��ǿ⣺ʹ�øñ�ǿ�����Ҫ����Ӧ��ҳ���������ǿⶨ���ļ����磺<%@ 
taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>������ı���У�

Empty: ������name��property��scope��

Equal: ������cookie��header��name��parameter��property��scope��value������coo
kie��header�� parameter�Ƕ���ʹ�õġ�Name��property��scope���ʹ�ã������ϵ
ͳ�е�bean�ġ������ϵͳ��ijһ���򵥵IJ�������� name��scope��ϾͿ����ˡ�

Forward: ����ֻ��name��

GreaterEqual: ���Ժ�equalһ��

GreaterThan�����Ժ�equalһ��

LessEqual: ���Ժ�equalһ��

LessThan: ���Ժ�equalһ��

NotEmpty: ���Ժ�emptyһ��

Match: ���Ժ�equalһ��

NotMatch�����Ժ�equalһ��

NotEqual: ���Ժ�equalһ��

NotPresent: ������coolie��header��name��property��parameter��scope��role��use
r��

Present:��notPresentһ��

MessageNotPresent:������message��name��property��

MessagePresent: ��messageNotPresentһ��

Iterate�� ������collection��id��indexId��scope��name��property��length��offse
t��type��

��ݿ����struts�ṩ�Լ������Դ���ú͹����������ڰ汾1.0��1.1����Ӧ�Ĺ��?
ʽ�Dz�һ��ġ�������ǿ�ҽ���ʹ��j2ee�е�������Դ���������

�ļ��ϴ�struts�ṩ����org.apache.struts.upload.FormFile��ֻҪ������ActionForm
���ṩ���и����͵��ֶΣ�Ȼ����Action�н��д���Ϳ����ˡ�

��bbs��ʵ���������(����struts1.0)Ҫ��ȡ��������ҷ��ʼ�luopc@edu-edu.com.c
n ��  
--
�� ��Դ:���Ұ��Ͽ�վ bbs.nankai.edu.cn��[FROM: 202.113.30.25] 
Technical Details
Message-ID: <4A84i8$9eG@bbs.nankai.edu.cn>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!elnk-pas-nf1!elnk-nf2-pas!newsfeed.earthlink.net!sjc70.webusenet.com!news.webusenet.com!maily.cic.tsinghua.edu.cn!news.happynet.org!NanKai

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: f6cb0,1e0a0f171c2b7ae4,start
X-Google-Attributes: gidf6cb0,public
X-Google-ArrivalTime: 2004-01-03 22:05:49 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!elnk-pas-nf1!elnk-nf2-pas!newsfeed.earthlink.net!sjc70.webusenet.com!news.webusenet.com!maily.cic.tsinghua.edu.cn!news.happynet.org!NanKai
From: yiruo.bbs@bbs.nankai.edu.cn (99CP~SE~ǰ�����ķ�)
Newsgroups: cn.bbs.comp.lang.java
Subject: struct�ṹ����
Date: 04 Jan 2004 06:04:14 GMT
Organization: �Ұ��Ͽ�վ
Message-ID: <4A84i8$9eG@bbs.nankai.edu.cn>
X-Filename: Java/M.1073196104.A
Lines: 252