《妄尽还源观》译注(二)起名

二.总论

 

本段大意:

时间:2017-1-11 11:05

开宗明义,提出从极细微的境况世界得以研讨到最根源的法性本体,用以评释华严“理事无碍”、“事事无碍”的境地。

 

历数的六门次序也有其原因,宋晋水净源大师在《华严妄尽还源观疏钞补解》中如此表达:“生佛迷悟莫先本体故。初授之以显体也。体性开发存乎妙用故。第二授之以起用也。依于妙用尘尘普周故。第三授之以示遍也。依能遍境而修行业故。第四授之以行德也。行德在躬以止调心故。第五授之以大止也。止门虽寂观心常照故。第六授之以妙观也。”

——Struts2中赢得请求参数(重点)

【修①华严奥旨妄尽还源②观③】

1、Struts2是一个MVC框架,那么分别代表什么?
    View:JSP
    Model:Action
    Controller:Action、StrutsPrepareAndExecuteFilter

译文:

2、为什么Action既是Model又是Controller?
    因为Action本身可以作为一个JavaBean。

修习《华严经》奥秘焦点,断除虚妄认识,归见自性清净圆明之心的观法。

3、在Struts2中得到请求参数有两大种(三小种)情势可以取得:
    1)属性使得(在Action中添加属性,对Action的习性举办操作)
        *  
直接将Action作为一个Model,就足以拿走请求参数,也就是将Action作为一个JavaBean,提供get/set方法。
            那种情势底层是因而反射来实现的。
            >  
问题1:使用Action封装请求参数,会不会设无线程安全题材?
                不会,每几遍呼吁都会转变一个Action对象。
            >  
问题2:使用该措施封装数据,将数据封装到Action属性中,不能够将Action对象传递给业务层。
                需要独自定义JavaBean,将Action属性封装到JavaBean

注释:

            示例代码:

①修:总贯名题,止观熏修习学造诣。

                    //属性驱动的第一种办法拿到请求参数,直接将Action做为Model

②源:如来藏自性清净心。法藏大师在《华严经义海百门》中说:“以妄心为有。本无体故。如蛇上绳。本无所来。亦无所去。何以故。蛇是妄心。横计为有。本无体故。若计有来处去处如故迷。了无来去是悟。然悟之与迷。相待安立。非是先有净心。后有无明。此非二物。不可两解。但了妄无妄。即为净心。”

                    public class Login1Action extends ActionSupport {

③观:以正慧观望事理。法藏大师在《华严游心法界记》中说“言观者。观智。是法离诸情计。故名为观也。”

 

夫满教①难思。窥一尘②而顿现。圆宗③叵测。睹纤毫以齐彰。然用④就体⑤分。非无差距之势。事⑥依理⑦显。自有一际⑧之形。】

                        private String username;

译文:

                        private String password;

一应俱全的(华严经)教义难以思议,从一粒微尘可以观察任何(世界),圆融具德之法不可估量,从一微细处可以全方位会心。各个功效按照体性来分齐,并非没有差距,世间森罗万象按照真如本体显现,自然有其相同之处。

 

注释:

                        public String getUsername() {

①满教:华严教义。满教与圆宗的差距可以瞻仰清凉澄观大师在《大方广佛华严经随疏演义钞》卷十四中的表明:“教则一经容有多教。宗则一宗容具多经。……又夫立教必须断证阶位等殊。立宗但明所尚差距。”

                            return username;

②一尘:一微尘。《华严经》中说:“如有大经卷。量等三千界。在于一尘内。一切尘悉然。有一聪慧人。净眼悉明见。破尘出经典。普饶益众生。”

                        }

③圆宗:以大乘真实周详之福音为旨之宗派。

 

④用:功用、功效之意。相对于‘体’而言,表示世俗的、绝对的,即运动的世界、相对的世界。

                        public void setUsername(String username) {

⑤体:即体性,不变之真理实相。多指胜义的、本质的、相对的,即静的世界、相对的世界。

                            this.username = username;

⑥事:指因缘生之一切有为法,即宇宙间差距之现象。与平等门之‘理’绝对。法藏大师在《游心法界记》中说:“心生灭者是事,即俗谛也”。

                        }

⑦理:事’之对称。指万象差异事法之本体。为同样一如之谛理。法藏大师《游心法界记》中说:“心真如者是理,即真谛也”。

 

⑧一际:谓相互二边无有个别。《大智度论》卷十九中说:“涅槃不异世间。世间不异涅槃、涅槃际。世间际。一际无有异故。”

                        public String getPassword() {

类解:

                            return password;

“用就体分。非无差异之势”:法藏大师在《华严经义海百门》中说:“标体开用助道之品盖多。就性明缘差距之门不同。合则法界寂而无二。开乃缘起应而成三。动寂理融方开体用。”

                        }

“事依理显。自有一际之形”:法藏大师在《华严经义海百门》中说:“法无分齐。现必同时。理不碍差。隐显一际。”

 

【其犹病起药兴。妄生智立。病妄则药妄。举空拳①以止啼。心通②则法通。引虚空而示遍。既觉既悟。何滞何通。】

                        public void setPassword(String password) {

译文:

                            this.password = password;

就好象病发以药治之,妄生以智祛之,病与药,虚妄与智慧,互为因缘,相对而生。没有病也无所谓药,就好像空手做拳只是用来止小儿啼哭的善巧手段。明心见性则万法皆通,从虚空可生万象普现。尽管觉悟了,又怎么有障碍与交通的区分吗?

                        }

注释:

 

①空拳:空手作拳以诳小儿也。《宝积经》九十曰:“如以空拳诱小儿。示言有物令欢喜。开手拳空无所见。小儿于此复号啼。如是诸佛难思议。善巧调伏众生类。了知法性无所有。假名安立示世间。”《大智度论》二十曰:“我坐道场时。智慧不可得。空拳诳小儿。以度于所有。”

                        @Override

②心通:即宗通,远离一切言说文字妄想,悟证自己个性叫做心通。《六祖坛经》中说:“说通及心通。如日处虚空。唯传见性法。出世破邪宗。”

                        public String execute() throws Exception {

类解:

                            HttpServletRequest request =
ServletActionContext.getRequest();

“病起药兴。妄生智立”:《六祖坛经》中说:“明是因。暗是缘。明没则暗。以强烈暗。以暗分明。来去相因。成中道义。”

 

【百非①息其攀缘。四句②绝其增减。故得药病双泯。静乱俱融。消能所③以入玄宗④。泯性相⑤而归法界⑥。】

                            if (“tom”.equals(username) &&
“123”.equals(password)) {

译文:

 

以绝百非来熄灭攀缘之心,以离四句来救亡图存增减之意,以此来扫除病与药、静与乱的对峙。消除能所周旋就能跻身玄妙的宗趣,灭绝体性与相状的反差就能融通法界奥秘。

                                request.getSession().setAttribute(“username”,
username);

注释

 

①百非:百者,指其数之多;非者,指非有、非无等样样否定。隋吉藏大师在《三论玄义》中说:“夫道之为状也。体绝百非。理超四句。……道为真理。而体绝百非。……若论涅槃。体绝百非。理超四句。”

                              return SUCCESS;

②四句:指有、无、亦有亦无、非有非无等四句。若执有,增益谤;若执无,损减谤;若执亦有亦无,相违谤;若执非有非无,戏论谤。

                            } else {

③能所:某一动作之主脑,称为能。其动作之客体(对象),称为所。唐玄奘大师译《大般若经》卷五六八中说:“作是思惟。所观境界皆悉空无。能观之心亦复非有。无能所观两种差异。诸法一相。所谓无相。”

                                request.setAttribute(“login.message”,
“用户名或密码错误”);

④玄宗:乃佛教之通名。意谓玄妙之宗趣。

                                return “failer”;

⑤性相:指体性与相状。不变而相对之真正本体,或事物之自体,称为性;差距变化之现象的相状,称为相。

                            }

⑥法界:法者诸法,界者性之义,诸法在外相上虽千差万别,但皆同一性,故称法界。法藏大师在《法界无差距论疏》中说:“法有三义。一持义。谓自性不改故。二轨义。谓轨范生解故。三对意义。是意识所知故。界亦三义。一因义是界义。谓依生圣法故。摄论云。法界者谓是所有净法因故。中边论意。亦同此说。三性义是界义。谓法之实性。起信论云。真如者即是一法界大总相法门体。又云。法性真如海。故云也。三分齐义是界义。谓诸法分齐各不相杂。故名为界。”

                        }

【窃见玄纲①浩然。妙旨②希微。览之者讵究其源。寻之者罕穷其际。是以真空③滞于心首。恒为缘虑之场。实际④居于近年来。翻为名相⑤之境。】

                    }

译文:

            实现原理:
                1、首先为Action类提供JavaBean属性,并提供get / set方法
               
2、在过滤器中添加如下代码,将呼吁参数封装到JavaBean中:

自己看齐《华严经》幽玄的法义纲领广大无边,纯妙的童趣小而无内,观察的人不可以究其根源,探求的人无法穷尽其边际。因而真心被妄念污染而不可能达成真空境界,是因为有攀缘分别设有,真如理体起心动念,眼前就是虚妄名相之境。

                    /*

注释:

                     * 在调用invoke()方法前,处理请求参数的包装

①玄纲:谓幽玄之法义大纲。

                     */

②妙旨:纯妙之乐趣。

                    Object actionObject = c.newInstance();

③真空:真如之理体远离一切迷情所见之相,杜绝‘有、空’之相对,故称真空。又大乘以非有之有,称为妙有;非空之空,称为真空。此乃大乘非凡之真空。真,指无虚妄之念虑。空,指无形质妨碍色相。法藏大师在《华严游心法界记》中说:“即谓诸法从缘皆无自性。无自性故是即名空。以有即空空不异有。是由此空名真空也。”清凉澄观大师在《华严法界玄镜》中如此表明:“言真空者,非断灭空,非离色空。即有明空,亦无空相,故名真空”。

                    // 将呼吁参数封装到Action中(底层也是反光实现的)

④其实:极真如之实理,至于其穷极,谓之实际。

                    BeanUtils.populate(actionObject,
request.getParameterMap());
                3、在Action中利用属性 

⑤名相:一切之东西,闻名有相,耳可闻,谓之名,眼可见,谓之相,皆是虚假,而非契于法之实性者,凡夫常分别此虚假之名相,而起各样之妄惑。


类解:

        *   创制独立的Model对象,页面通过ognl表明式封装
            >   在Action中讲明一个JavaBean对象
            >   private User user;
            >   提供get/set方法:public User getUser()….
            >   在页面中选拔ognl表明式:<input type=”text”
name=”user.username” />
            优点:简单,解决了第一种包装的题目。
            缺点:在页面中行使了ognl表明式,与Struts2框架耦合度高。

法藏大师在《华严经义海百门》中说:“窃见玄纲浩浣。妙旨希夷。览之者讵究其源。学之者罕穷其际。由是微言滞于心首。恒为缘虑之场。实际居于方今。翻为名相之境。”

            示例代码:

【今者统收玄奥。囊括大宗。出经典于尘中。转法轮①于毛处。明者德隆于当日。昧者望绝于多生。会旨者山岳易移。乖宗者锱铢难入。】

                /*

译文:

                 *
属性驱动的第二种办法获取请求参数,在Action中声称一个JavaBean

今统揽《华严经》玄妙奥旨,包罗各大乘焦点,从一粒微尘中能够了解到经卷的内蕴,从一毛端可以了然到华严的大旨。智慧的秉性德昌隆,当下就能证得,愚钝的人多生累劫都并未愿意开悟。了解(华严)奥旨的人移山挪岳都很容易,违背(华严)要旨的人细微之处也麻烦契入。

                 * 在表单中的name值需要修改为:

注释:

                 *  * name=”user.username” name=”user.password”

①法轮:对于佛法之喻称。以轮比喻佛法,其义有三:(1)催破之义,因佛法能摧破众生之罪恶,犹如转轮圣王之轮宝,能辗摧山岳岩石,故喻之为法轮。(2)辗转之义,因佛之说法不停滞于一人一处,犹如车轮辗转不停,故称法轮。(3)圆满之义,因佛所说之教法圆满无缺,故以轮之圆满喻之,而称法轮。

                 *  * <input type=”text” name=”user.username” />

类解:

                 * user表示Action内部封装JavaBean对象的称呼

“今者统收玄奥。囊括大宗。出经典于尘中。转法轮于毛处。明者德隆于当日。昧者望绝于多生。会旨者山岳易移。乖宗者锱铢难入”:法藏大师在《华严经义海百门》中说:“今者统收玄奥。囊括大宗。出经典于尘中。转法轮于毛处。明者德隆于当天。昧者望绝于多生。得其意则山岳易移。乖其旨则锱铢难入。”

                 * 这是Struts2中提供的一个默认表达式语言:ognl

“明者德隆于当日”:华严四祖清凉澄观大师在《华严经行愿品疏》中说:“得其门也。等诸佛于一朝。”

                 */

“昧者望绝于多生”:华严四祖清凉澄观大师在《华严经行愿品疏》中说:“失其旨也。徒修因于旷劫。”

                public class Login2Action extends ActionSupport {

辄以旋披①往诰。缅觌(dí)旧章。备三藏之玄文。凭五乘②之妙旨。繁辞必削。缺义复全。虽则创集无疑。况乃先规有据。】

                    private User user;

译文:

 

就特意遍寻以前的经典章疏,依照经律论三藏的神妙文字和五乘形式的纯妙旨趣,(写作时)繁文余句就把它删除,隐含不显的大义就把它填补完善,即使是创初集会,却以先圣规准之言为基于,应该没有其他疑窦。

                    public User getUser() {

注释:

                        return user;

①旋披:遍寻。

                    }

②五乘:为教育众生而将之运载至尽善尽美世界之五种办法,称为五乘。《华严五教章》卷一所说的五乘︰即一乘、三乘(声闻乘、缘觉乘、菩萨乘)、小乘。《大藏法数》卷二十八谓,以一乘实相之法为乘,到达涅槃彼岸,此谓一乘;以六度万行事乘,出离三界,此谓菩萨乘;以十二因缘为乘,超出三界,此谓缘觉乘;以四谛为乘,超过三界,此谓声闻乘;以五戒、十善为乘,出离四趣,此谓小乘(即人天乘)。

 

【穷兹性海①会彼行林②。别举六门通为一观。参而不杂。一际皎然。冀返迷方。情同晓日。佩道君子俯而详焉。】

                    public void setUser(User user) {

译文:

                        this.user = user;

(著作)穷尽如海自性与成堆妙行,综合归咎为“一体二用五次四德五止六观”等多少个措施,统摄为“妄尽还源”一观。三个艺术圆通,相互相间而不散乱,浑然一体而无差距,就象是东升旭日一如既往指引大家从迷惑颠倒中回头。希望各位持戒修行的高人俯心从道,广而行之。

                    }

注释:

 

①性海:真如之理性,深广如海,故云性海。如来法身之境也。

                    @Override

②行林:殊妙之行法,高耸如林,故云行林。

                    public String execute() throws Exception {

类解:

                        HttpServletRequest request =
ServletActionContext.getRequest();

“参而不杂。一际皎然”:法藏大师在《华严经义海百门》中说:“参而不杂。一际皎然。”

 

【今略明此观。总分六门。先列名。后广辨。】

                        if (“tom”.equals(user.getUsername()) &&
“123”.equals(user.getPassword())) {

译文:

 

前天先大略表达一下这一个观法,总共分成六门,先列举一下称呼,前边再展开详细表达。

                            request.getSession().setAttribute(“username”,
user.getUsername());

【一显一体。谓自性①清净②圆明③体。】

                            return SUCCESS;

译文:

                        } else {

一,显现一个本体,叫做自性清净圆满光明的本体(即华严一真法界)。

                            request.setAttribute(“login.message”,
“用户名或密码错误”);

注释

                            return “failer”;

①自性:诸法各自有不变不改之性,是名自性。《六祖坛经》中说:“无上菩提须得言下识自本心。见自本性不生不灭。于一体时中念念自见。万法无滞。一真一切真。万境自如如。如如之心即是真实。若如是见。即是无上菩提之自性也。”

                        }

②清净:超诸善恶,无差异对待。

                    }

③圆明:圆满光明。《六祖坛经》中说:“无上大涅槃。圆明常寂照。”

                }

【二起二用。一者海印①森罗常住②用。二者法界圆明自在③用。】


译文:

            这种艺术底层通过Struts2中的一个interceptor举办了包装:
                <interceptor name=”params”
class=”com.opensymphony.xwork2.interceptor.ParametersInterceptor”
/>
                    @Override

二,生起五个职能,一是海印森罗常住用,二是法界圆明自在用。

                    public String doIntercept(ActionInvocation
invocation) throws Exception {

注释:

                        Object action = invocation.getAction();

①海印:好象大海中印现一切之东西,佛之智海能够印现一切之法。

                        if (!(action instanceof NoParameters)) {

②常住:指绵亘过去、现在、以后三世,恒常存在,永不生灭变易。《大乘起信论》中说:“以离家微细念由故。得见心性。心即常住。”
《大般涅槃经》卷三十四中说:“法身即是常乐我净。永离一切生老病死。非白非黑。非长非短。非此非彼。非学非无学。若佛出世及不出世。常住不动。无有变易。”

                            ActionContext ac =
invocation.getInvocationContext();
                            // 相当于request.getParameters(); 

③自在:进退无碍,谓之自在。

                            final Map<String, Object> parameters =
retrieveParameters(ac);

三示四回。一者一尘普周法界遍。二者一尘出生无尽①遍。三者一尘含容空有②遍。】

 

译文:

                            if (LOG.isDebugEnabled()) {

三,普示二种常见,一是一尘普周法界遍,二是一尘出生无尽遍,三是一尘含容空有遍。

                                LOG.debug(“Setting params ” +
getParameterLogMap(parameters));

注释

                            }

①无尽:无为法离生灭之相,故为无尽,又有为法之缘起,一多相即,故为无尽。

 

②空有:一切法缘生无有实体,叫做空;虽然性空但有假相,叫做有。

                            if (parameters != null) {

【四行四德。一者随缘①妙用无方②德。二者威仪③住持④有则德。三者柔和质直⑤摄生德。四者普代众生⑥受苦德。】

                                Map<String, Object> contextMap =
ac.getContextMap();

译文:

                                try {

四,修行四种行德,一是随缘妙用无方德,二是气概住有所则德,三是温和质直摄生德,四是普代众生受苦德。

                                   
ReflectionContextState.setCreatingNullObjects(contextMap, true);

注释:

                                   
ReflectionContextState.setDenyMethodExecution(contextMap, true);

①随缘:随顺因缘,或符合机根之缘。

                                   
ReflectionContextState.setReportingConversionErrors(contextMap, true);

②无方:指佛摄化众生,泯绝方位之区别,无所际限,亦无一定之方法。

 

③威仪:威严之态势,指起居动作皆有威德有仪则。

                                    ValueStack stack =
ac.getValueStack();
                                    // 将参数赋值给Action中的JavaBean 

④住持:安住维持。

                                    setParameters(action, stack,
parameters);

⑤柔和质直:指意柔而随顺于道,心正而无伪曲。

                                } finally {

⑥众生:指迷界之有情。

                                   
ReflectionContextState.setCreatingNullObjects(contextMap, false);

五入五止①。一者照法清虚离缘②止。二者观人寂泊绝欲③止。三者性起④繁兴⑤法尔⑥止。四者定光⑦显现无念⑧止。五者事理⑨玄通非相止。】

                                   
ReflectionContextState.setDenyMethodExecution(contextMap, false);

译文:

                                   
ReflectionContextState.setReportingConversionErrors(contextMap, false);

五,契入多少个定止境界,一是照顾清虚离缘止,二是观人寂泊绝欲止,三是性起繁兴法尔止,四是定光显现无念止,五是事理玄通非相止。

                                }

注释:

                            }

①止:止息一切外境与妄念,而连贯于特定之对象。

                        }

②缘:攀缘、缘虑,谓人之心识攀缘于一体境界而胶着不舍。

                        return invocation.invoke();

③欲:又作乐欲,意谓希求、欲望。

                    }

④性起:为‘缘起’之对称。不等待其他因缘,但依自体本具的性德生起。法藏大师在《华严经探玄记》卷十六中对“性起”有详细的表达,那里仅摘录对“性起”义理的诠释:“不改名性。显用称起。即如来之性起。又真理名如名性。显用名起名来。即如来为性起。……为生现佛之因不取自德。又亦即以为生现佛为其自德。更无别自。是故摄因无不皆尽。如是因缘既无自性。无自性理为本起用。故名性起。……佛智为本。能生菩萨行位。是故佛智为性。能成菩萨行等名起。”


⑤繁兴:繁杂多起。

    2)模型驱动(在支付中应用相比多)
        使用ModelDriven接口,对请求数据开展打包。
        步骤:
            *   讲明一个JavaBean对象并且必须实例化对象。
                >   private User user = new User();
            *   Action类实现ModelDriven接口
                >   public class Login3Action extends ActionSupport
implements ModelDriven

⑥法尔:又作法然、自然、天然、自尔、法尔自然、自然法尔。系指万象(诸法)于其天生自但是非经由任何创设之意况。即指某事物本来之相状。据《华严经探玄记》卷三所释,法尔一义可就两下面而言:(一)就满门诸法之存在观之,一切莫非因缘和合而成,无论水之就低、火之提高,皆为自但是然之事。(二)就真如之法言之,真如之法,法尔随缘,万法俱兴,法尔归性,皆为本来平等常然之事。

            *   重写getModel()方法
                >   public Object getModel() { return this.user; }

⑦定光:定能发慧犹如灯光。

        优点:解决了性能使得存在的问题
            *   不需要将Action封装成JavaBean
            *   解决了在页面中运用ognl表达式的题材
       
缺点:一回只好封装一个JavaBean对象,getModel()方法只可以回到一个Bean。

⑧无念:即无妄念之意,指意识未存世俗之忆想分别,而符于真如之念。《六祖坛经》中说:“何名无念。若见一切法心不染着。是为无念。”

        很多关于模型驱动的拦截器都是ModelDriven拦截器操作的:
            com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor

⑨事理:以缘起差距之诸法为事,真如同样之理性为理,乃谓事理互融无碍;而于四法界之第三说‘理事无碍法界’,于三重观门之第二立‘理事无碍观’。天台智者大师在《法华文句.释方便品》这样表达:“理是真如。真如本净。有佛无佛。常不变易。故名理为实。事是心意识等。起净不净业。改动不定。故名为权。若非理无以立事。非事不可以显理。事有显理之功”。

        示例代码:

六起六观。一者摄境①归顺真空观。二者从心现境妙有②观。三者心境秘密圆融③观。四者智身④影现⑤众缘观。五者多身入一境像观。六者主伴⑥互现帝网⑦观。】

            /*

译文:

             * 使用模型驱动获取请求参数

六,生起六种观行,第一个是摄境归心真空观,第二个是从心现境妙有观,第两个是心思秘密圆融观,第三个是智身影现众缘观,第六个是多身入一境像观,第六个是主伴互现帝网观。

             */

注释:

            public class Login3Action extends ActionSupport implements
ModelDriven {


境:根与识之对象。唯识大乘自本质之有无将境分为性境、独影境、带质境二种,以论见相二分种子之异同。

                private User user = new User();

②妙有:非有之有曰妙有。以对于非空之空而曰真空也。法藏大师在《华严游心法界记》中说:“由无自性有方得成。以不异无性而成有故。是由此出名为妙有。”

 

③圆融:圆者周遍之义,融者融通融和之义。即各事各物皆能保全其固有立场,圆满无缺,而又为全体严密,且能相互融摄,毫无争持、争辩。法藏大师在《华严经义海百门》中说:“圆融者。谓尘相既尽。惑识又亡。以事无体故。事随理而团结。体有事故。理随事而通会。是则终日有而常空。空不绝有。终日空而素有。有不碍空。然不碍有之空。能融万像。不绝空之有。能成一切。是故万像宛然。相互无碍也”。

                public Object getModel() {

④智身:华严所说融三世间十身之一。以圆明之智慧为佛身者。

                    return this.user;

⑤影现:佛为众生济度现形也。

                }
 

⑥主伴:即主体与从属之并称。华严宗说法界缘起之法时,若以此为主,则以彼为伴;若以彼为主,则以此为伴,如此,则主伴具足而摄德无尽,称为主伴具足。又万有各为主,亦各为伴,如是相即相入,重重无尽,称为主伴无尽。

                public String login() throws Exception {

⑦帝网:为帝释天之宝网,乃庄重帝释天宫殿之网。网之一一结皆附宝珠,其数无量,一一宝珠皆呈现自他整整宝珠之影,又一一影中亦皆展示自他任何宝珠之影,如是宝珠无限交错反映,重重影现,互显互隐,重重无尽。

                    HttpServletRequest request =
ServletActionContext.getRequest();

                    System.out.println(user.getUsername() + “: ” +
user.getPassword());

                    if (“tom”.equals(user.getUsername()) &&
“123”.equals(user.getPassword())) {

 

                        request.getSession().setAttribute(“username”,
user.getUsername());

 

                        return “success.jsp”;

                    } else {

                        request.setAttribute(“msg”, “用户名或密码错误”);

                        return “login.jsp”;

                    }

                }

            }

        实现原理:
            1、在Action中宣称一个起初化的JavaBean对象。
            2、实现ModelDriven接口
            3、重写getModel()方法
            4、在拦截器中实现如下代码:

                /*

                 * 模型驱动

                 */

                // 得到HelloAction类中宣示的User对象

                Object actionObject = c.newInstance();
 

                // 判断HelloAction是否落实了MyModelDriven接口

                if(actionObject instanceof MyModelDriven){

                    // 将子类强转成父类

                    MyModelDriven model = (MyModelDriven)actionObject;
 

                    //
获取HelloAction内部的User对象,然后把请求参数封装到User对象中

                    BeanUtils.populate(model.getModel(),
request.getParameterMap());

                } else {

                    // 1、属性使得

                    actionObject = c.newInstance();

                    // 将呼吁参数封装到Action中(底层也是反射实现的)

                    BeanUtils.populate(actionObject,
request.getParameterMap());

                }

         

——将请求参数封装到集结(了解)

规律:使用ognl表明式实现。

1、将数据封装到List集合
    页面:
        用户名1:<input type=”text” name=”users[0].username”
/><br/>

        密    码1:<input type=”password” name=”users[0].password”
/><br/>

 

        用户名2:<input type=”text” name=”users[1].username”
/><br/>

        密    码2:<input type=”password” name=”users[1].password”
/><br/>

    Action类:
        private List<User> users;
        get / set方法

2、将数据封装到Map集合
    页面:
        用户名1:<input type=”text” name=”users[‘aaa’].username”
/><br/>

        密    码1:<input type=”password”
name=”users[‘aaa’].password” /><br/>

 

        用户名2:<input type=”text” name=”users[‘bbb’].username”
/><br/>

        密    码2:<input type=”password”
name=”users[‘bbb’].password” /><br/>

    Action类:
        private Map<String, User> users;
        get / set方法

——总结

1、Action接收请求参数

    *   关于Struts2中的MVC
    *   属性驱动
        >   直接将Action作为JavaBean。
        >  
Action中封装JavaBean,在页面上需要选拔ognl表明式来给组件起名。
    *   模型驱动
        >  
让Action实现ModelDriven接口,重写getModel()方法实例化一个JavaBean对象,该方法再次来到的就是实例化的JavaBean对象。
    *   关于请求参数封装到集结
        >   List
        >   Map

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图