黔西南北京网站建设,凡客诚品官方网店下载,查询邮箱注册网站,seo兼职外包标签库#xff1a; a) struts框架下的struts标签库 b) sun jstl c标签库 作用: 1) jsp 和 java代码分离 -- 自定义标签 用标签来替代Java的代码 2) struts标签 能够和struts-config.xml actionForm等特有的对象进行交互 stru… 标签库 a) struts框架下的struts标签库 b) sun jstl c标签库 作用: 1) jsp 和 java代码分离 -- 自定义标签 用标签来替代Java的代码 2) struts标签 能够和struts-config.xml actionForm等特有的对象进行交互 struts标签库 html标签 --- 替代基本的html元素 bean标签 --- 访问JavaBean logic标签 --- for if判断 程序结构的标签化 html标签 1.html标签 % taglib uri/WEB-INF/struts-html.tld prefixhtml % 基本html标记的替代标签 a)基本的html元素标签 (选择使用) html:html ***** html:html localetrue 对应 html langzh-CN html:base ***** html:base/ 对应 base hrefhttp://localhost:8080/aa.jsp 当前页面的地址 html:img ******* html:img pageimages/zhangying.gif/ 对应 img srcimages/zhangying.gif 传参数 html:img pagejspimage.jsp paramIdid paramName1/ 对应 img srcjspimage.jsp?id1/ **** html:link 3个属性page href forward 代替Html中超链接标记 a hrefsueccess.jsp跳转/a html:link pagelogout.jsp 相对路径page 注销 /html:link 对应 a hreflogout.jsp注销/a html:link hrefhttp://www.sohu.com 绝对路径href sohu网站 /html:link 对应 a hrefhttp://www.sohu.comsohu网站/a struts-config.xml中的global-forwards forward html:link forwardsuccess 对应全局转发 成功页面 /html:link 对应 a href/success.jsp成功页面/a 传参数: paramId 指定传参数的名字 id paramName 指定参数的值 1 html:link page/deleteemp.do paramIdid paramName1 删除 /html:link 对应 a href/deleteemp.do?id1删除/a html:rewrite 输出对应的URI 的字符串 不产生超链接 html:rewrite page/deleteemp.do paramIdid paramName1 对应 /deleteemp.do?id1 b)基本表单标签 -form表单 ****** html:form html:text html:hidden html:reset html:submit html:password html:checkbox html:radio html:file ----- 文件类型 html:select html:option 对应基本的表单元素 property value input typetext nameuser value对应于 html:text propertyuser value/ input typecheckbox nameah value1体育input typecheckbox nameah value2游泳对应于html:checkbox propertyah value1体育/html:checkboxhtml:checkbox propertyah value2游泳/html:checkbox html:file ---文件的上传的标签 common-fileupload-1.0.jar 实现文件的上传 actionForm中 FormFile的类型 代表file文件 用处 html:file/ 文件上传得 html:link/ 页面跳转的 c)错误和正确信息标签 ******* jdk的bin中 native2ascii.exe 编码方式变为Unicode方式 native2ascii -encoding gb2312 applicationResources.properties ApplicationResources_zh_CN.properties html:errors/ 输出所有actionError的内容 html:errors propertyuname/ 输出keyuname对应的内容 2.bean标签 访问变量的属性或输出值 访问JavaBean a)访问http请求信息和jsp隐式对象** bean:cookie cookie访问 bean:cookie idmycookie nameloginname value123/ id -- 自己设置Cookie变量的名字 name -- Cookie对象的名字 value -- 默认值 bean:write namemycookie propertyvalue/ 取出值 bean:write namemycookie propertyname/ 取出名字 Cookie c new Cookie(loginname,northwind); c.getValue() c.getName() *** bean:parameter访问请求的参数request bean:parameter idarg1 nameusername valuenorth/ bean:write namearg1/ 对应的Java代码 request.getParameter(username); **** bean:page 访问jsp的隐式对象---属性 session getId() - id getCreationTime() - creationTime application request response 所有对象的get方法能访问到的属性 都可以被这个标签访问 属性的第一个字母变成小写后都可以访问 bean:page idthis_session propertysession/ bean:write namethis_session propertycreationTime/ b)访问资源*** bean:message 访问applicationResources中的消息 bean:message keyhello.user/ 输出key的值 bean:include 包含资源到一个变量中 动作 jsp:include pagetestpage1.jsp/ 页面运行结果包含进来 等价于下面2句话 bean:include idtp1 page/testpage1.jsp/ bean:write nametp1/ 输出变量的内容 输出的是页面的内容 c) 定义和输出JavaBean ***** bean:define 定义一个变量 bean:define idaa valueHello/ bean:write nameaa/ - Hello bean:define idbb nameempbean propertyename/ JavaBean:empbean 属性ename 变量 String bb empbean.getEname(); bean:write namebb/ 得到empbean中属性ename的值 *** bean:write 显示JavaBean及其属性或变量的内容 bean:write name property scope/ name某个范围中的属性的名字 (对象) propertyJavaBean中的属性 scope访问对象的范围 3.logic标签 a)if else if ab then 等于 不等于 大于 小于 字符串 匹配 不匹配 空值 非空值 b)循环 for(int i0;ivect.size();i){ } 对集合的遍历如何做?? a) 存在性 logic:present/ 是否存在某种变量 cookiecookie名字 headerrequest中的header parameter参数 name变量或JavaBean property scoperequest/session/application 如果存在 就输出标签体的内容 相反的标签 logic:notpresent/ 是否为空 空 - 或null logic:empty name变量或JavaBean property /logic:empty 是否相等 logic:equal/ 大于 logic:greaterThan/ logic:greaterEqual/ 小于 logic:lessThan/ logic:lessEqual/ 匹配 logic:match/ logic:nomatch/ location 表示的是位置 从开始匹配 start 从结束匹配 end 循环 logic:iterate % Vector v new Vector(); v.add(1); v.add(2); v.add(3); v.add(4); request.setAttribute(number,v); % id定义一个变量 name定义变量的内容 logic:iterate idele namenumber bean:write nameele/ /logic:iterate 对集合中所有元素的循环访问 indexId 定义循环计数器变量 i offset 开始元素的位置 length 要输出元素的个数 logic:iterate idele indexIdindex namenumber offset1 length2 bean:write nameindex/.bean:write nameele/br /logic:iterate c) logic转发和重定向 logic:forward nameindex/ 对应global-forwards 转发到index jsp:forward pageindex/ logic:redirect pageaa.jsp/ 重定向到aa.jsp response.sendRedirect(aa.jsp) struts中文乱码问题的解决 1编码转换函数 2过滤器 Action和jsp的开发其实就是对Struts标签的运用.掌握标签的熟练程度决定了开发效率.初学者往往对某个数据表示或数据获取,束手无策.一个简单的问题浪费一两天时间也就不足为怪了.导致整个开发进度延后.外面的struts书籍介绍标签和数据传输原理都比较简单,下面我对标签技术和数据传输原理,进行全方位多角度的剖析.希望对各位有所帮助.以此为模版,将大大提高开发效率.以sample为机能名称.D(j Jtw/cJ①画面上有一text框,显现内容为某一数据表中的某一字段.那我们该如何设置和得到此数据呢?JAVA中文站社区门户D0FYJFSampleJsp:JAVA中文站社区门户U!QS2Us0E0hVT]3] html:text name sampleForm propertyname /{D%],LN c)K1Y oSampleForm.java: // form文件名必须和jsp中标签的name对应JAVA中文站社区门户jbYB-k6gn.},m!NX String name; // 必须和jsp中该项目的property一样hu tXL4qs Z public String getName() { return name; }Mg*i9[p4lj zL/L$d public void setName(String name) { this.name name;}{;b L;ZY3_E)WY变量和方法名,不可以顺意.变量abcd,那方法名就是setAbcd和getAbcd.注意大小写.JAVA中文站社区门户Ue TEdjsp中的项目必然全部在form里面有所表示,当然反过来,form里的项目在jsp中不一定全部表示(可能有辅助动作的对象或验证)JAVA中文站社区门户 zGr,kJSampleAction.java JAVA中文站社区门户d%Sxph N8xg0B0W public ActionForward start(ActionMapping mapping,S9x .}6^#vW ActionForm argForm, HttpServletRequest req, HttpServletResponse res)JAVA中文站社区门户.M]ftn:Qn0v:Z:? throws Exception {JAVA中文站社区门户kPF5f)R$K_Mp SampleForm form (SampleForm) argForm;JAVA中文站社区门户 VS| }2u x9P z5F String name ………………other codes for get name from dbJAVA中文站社区门户N1X8?-M0B)BF // set name3F{-S/C-~} form.setName(name);JAVA中文站社区门户$l(l(K/Z7?9c\5D%Um // now text will show the nameUop3fz0zqof }JAVA中文站社区门户As a1I7r)u,y;a%Hpublic ActionForward save(ActionMapping mapping,JAVA中文站社区门户f X?m7H4i%n ActionForm argForm, HttpServletRequest req, HttpServletResponse res)#{ SEvZhq throws Exception {JAVA中文站社区门户 AQ O rH*L SampleForm form (SampleForm) argForm;;d2P8rvl1f2Z2g;c // get nameJAVA中文站社区门户YB#L,~*?sW Y String name form.getName();S c2G c,DB u$j Po%mf ………………other codes for save nameJAVA中文站社区门户JyI7ENP\%x }JAVA中文站社区门户8W9NSDjjsp和form对应,action操作form,form其实起了传输数据的作用.这就是struts标签的核心原理.得到数据和设置数据没问题了,剩下的工作也就得心应手了. JAVA中文站社区门户EhU5J xt ②再看一个处理标签的方法.画面上是一个明细一览表示(表).表示的是数据表user的相关数据(id,name).$~dJBY AZSampleJsp: R$k)?Hy/L logic:present namesampleForm propertyuserList JAVA中文站社区门户fz9A/O d logic:iterate iduser name sampleForm propertyuserListJAVA中文站社区门户%kl5K,d$e B[~)^ tr2h t { X:|3UF*Y td bean:write nameuser propertyid / /tdJAVA中文站社区门户Y k8k8A Z)} b0cz td bean:write nameuser propertyname / /tdJAVA中文站社区门户6w G6|bM /trJAVA中文站社区门户F4l N!O8RY DVL /logic:iterate j}K%FqP:[FH /logic:present C U9l.npY:m JAVA中文站社区门户;REv(zGUpS#JF,o} logic:present是逻辑判断,sampleForm中userList为空(无数据或null),下面的东东不显示.JAVA中文站社区门户bV1M%~Nflogic:iterate是逻辑循环,userList有几条数据,就循环几次. P^a;FUM!o :u6Ki#BvTf bean:write nameuser propertyid /是lable标签,显示user这个对象(entity)的id属性.或者说显示数据表user中的一条记录中的id这个列.JAVA中文站社区门户7[3QE CC8Jx(l^User.java(就是entity,因为和业务密切,高达不开发,切记切记不可顺意修改.遇到设计有问题,QA日本)JAVA中文站社区门户!ziw i H%{3M!~g String id;JAVA中文站社区门户-M:LN2Q|3u^ L public String getId() { return id; }JAVA中文站社区门户e*Aa| \p9{ public void setId(String id) { this.id id; }qvf3OI String name;JAVA中文站社区门户QkCT)P!j public String getName () { return name; }JAVA中文站社区门户i _ o^ h}z public void setName (String name) { this.name name; }9DC w*v f(?看到这,是否觉得面熟啊,好象和FORM一样,但有点不一样,不一样在哪里,看下去后,自己感悟吧.JAVA中文站社区门户Y4v ZYgSampleForm.java: JAVA中文站社区门户E y)B?x X List userList;JAVA中文站社区门户U e#fty(B3M public List getUserList () { return userList; }9BMO aSB public void setUserList (List userList) { this.userList userList; }Ou.I Ve[Z)fform只要这些,那你会问,id和name,struts如何能得到呢?你不是说过jsp必须和form一样对应吗?不错,一一对应是肯定的. UserList信息已经包含了一切,还需要定义id和name吗?至于struts如何得到数据,那就看下面的action是如何处理的吧.JAVA中文站社区门户6_a.o)x bq8zx)hSampleAction.java 7Ab^t)N/xl-Tpublic ActionForward start(ActionMapping mapping,JAVA中文站社区门户u^H{| ActionForm argForm, HttpServletRequest req, HttpServletResponse res)JAVA中文站社区门户z/\Y7[I } throws Exception {JAVA中文站社区门户3wTy z4RprF SampleForm form (SampleForm) argForm;z7~ F oS*j o%O ArrayList userList new ArrayList();MdzP;PSfZMG User user new User();P UpiNc7^p$I user.setId(1);JAVA中文站社区门户7u[t,_~ QO2z user.setName(“name1”);p6G5drI,}y userList.add(user);JAVA中文站社区门户Z(J:ww7U JAVA中文站社区门户a ENe~{ User user new User();Kq2k5yQ9w!D7YS| user.setId(2);JAVA中文站社区门户#H/Dja| user.setName(“name2”); P%F%w CzNV X userList.add(user);JAVA中文站社区门户8T\J|%f%C JAVA中文站社区门户0r5O-kfst // set userListJAVA中文站社区门户8Ip Q};No]k form.setUserList(userList);btlJ;zUf // now table will showJAVA中文站社区门户5~!w#M t{#[-i }e1olpr!Z一切搞定.是不是很简单,但估计你还是有点晕.你还是想问我,id和name到底是如何设置的?6Dp!SX#E(e0MtguAction设置了userList就够了,它包含够多的信息了. struts看见了你设置了userList.它就知道了这个list里面都user(entity),useruser(entity)里面不是有很多get,set方法吗?JAVA中文站社区门户 g|K*2d M 9] .lIb3{8S再看下下面的东东.!aJDU3Vpa-P logic:iterate iduser name sampleForm propertyuserList8e)L!jGU;gO n6a bean:write nameuser propertyid /5xNl.TZJ*Kid”user”,和nameuser 对应了,明白啥意思吗?.就象循环指明索引一样. propertyid就是要显示的这个索引对应的内容.Struts就是这样来认id和name的. vx3iZT!k2t*o~4T JAVA中文站社区门户a7u,x4B_}0C R ③接下来,看一个加强版的table例子,在显示的明细一览,每一行前面加一个radio框,让用户选择哪个user.进行删除操作.eW.L_$s hiSampleJsp: -iOae^ Z logic:present namesampleForm propertyuserList jQ Rv#f logic:iterate iduser name sampleForm propertyuserList2m;R;x8mNDi:O trJAVA中文站社区门户so4V[)U1ku tdJAVA中文站社区门户(\ J)]-T I]$gu-H.]#i html:radio namesampleForm propertyselectedUserId value %((jp.co.mhcb.obs.persis.entity.User)pageContext.getAttribute(user )).getId().toString() % /JAVA中文站社区门户)EY dmM aC /tdJAVA中文站社区门户(z#T5?.c4kTn ~7} td bean:write nameuser propertyid / /tdJAVA中文站社区门户h[mxV(D4f td bean:write nameuser propertyname / /td?9ZF1g4\ KPA /tr?hF#x e*wdj)F /logic:iterate JAVA中文站社区门户\[M;B3x_m /logic:presentJAVA中文站社区门户8Y A c/[Sb e!d\/^JsampleForm.java:JAVA中文站社区门户 dmP:[(qU*|H(? U String selectedUserId; JAVA中文站社区门户Z%i| i!F;Ep7gCq public String getSelectedUserId () { return selectedUserId; }0J1J ]qb1r ?y public void setSelectedUserId(String selectedUserId) {JAVA中文站社区门户H%\C)M-t9[#Jy this.selectedUserId selectedUserId;JAVA中文站社区门户(bAP)K4C8F)M }JAVA中文站社区门户6D Q,F V)O*aXAvSampleAction.java JAVA中文站社区门户)ytt)ETxpublic ActionForward delete(ActionMapping mapping,?*ZfUP!z ActionForm argForm, HttpServletRequest req, HttpServletResponse res)4[}K#R6kJ^wKC throws Exception {A8u(d,y u/B-O SampleForm form (SampleForm) argForm;cj}o!Q4MM!_0_ String selectedUserId form.getSelectedUserId();]4N%vSV%GE // get user by selected idJAVA中文站社区门户9H-\j{vQ User user getUser(selectedUserId);JAVA中文站社区门户z;U}a)](H // delete usere,M$t$k2xf5U }$]cV4SiP1L!wradio框. propertys值对应form里的对象.value值是该行radio对应的user中的id(数据表中user的id是主键),那么当用户选中任何一个radio,struts通过form得到propertys值,就可以得到选中哪个user了,然后进行相应操作.JAVA中文站社区门户e%N$ lb CM设置哪个user被选中,一是通过用户选择,没的说.二,通过程序控制,如果进入初期画面,我要让user.id ‘3’的radio被选中,只要在初期Action中form.selectedUserId(“3”);一切搞定,就一句话,进入初期画面时, user.id ‘3’的radio被选中了.JAVA中文站社区门户1Sj*w*fqj o/J0{g$nY,{v注意以下标签JAVA中文站社区门户2c7HFGa:JR#j3s html:radio namesampleForm propertyselectedUserId value % ((jp.co.mhcb.obs.persis.entity.User)pageContext.getAttribute(user )).getId().toString() % /JAVA中文站社区门户zYH9^rqu下面发挥想象一下以下标签啥意思?JAVA中文站社区门户^9w8Y]6t n~5Y T html:radio namesampleForm propertyselectedUserId value % ((jp.co.mhcb.obs.persis.entity.User)pageContext.getAttribute(user )).getObject1().getObject1().getObject2()…………getObjectN().getId().toString() % /JAVA中文站社区门户3Nj] c0_kTE$\!R1_)_能看出来什么?JAVA中文站社区门户^9~E*V*R7|User包含object1,object2包含object3,….objectN-1包含objectN,objectN有id属性.JAVA中文站社区门户|6D8g ypB看出来了吗?灵活运用,想象一下,各个entity和form,action该如何写? (il,eu2zL qoG_ Ik④接着介绍一下,checkbox是使用.画面有一排checkbox,如何设置和得到数据呢?先看一个简单点的. JAVA中文站社区门户7h5H4deQb html:checkbox name sampleForm propertychechbox1 valuetrue /.}YP1_(\;[ html:checkbox name sampleForm propertychechbox2 valuefalse /JAVA中文站社区门户*o Q \u9K1Vn html:checkbox name sampleForm propertychechbox3 valuetrue /JAVA中文站社区门户CO ^ X(NyzZ第二个框未选中,其他选中.form里面对应三个String chechbox1,chechbox2, chechbox3;下面来个复杂点的,多选择对话框multiboxJAVA中文站社区门户-r\6H4~ CXL*c[jSampleJsp中]nlTS*^r,V logic:iterate name sampleForm iduser propertyuserList2f E5RWPB i html:multibox propertyselectedUsersT4yZr7ux(Q bean:write nameuser propertyid/ h\h[-X lMF Q /html:multiboxJAVA中文站社区门户-r-ir MV/^4Ot bean:write nameuser propertyname/ JAVA中文站社区门户f RnHiC0e*Z*CZ /logic:iterateJAVA中文站社区门户ds T)zS)Huwe^ 8h%g6Gdt^ISampleForm中:T0R T}E8~ private String userList[] new String[0]; a Aah!KP9A public String[] getUserList () { return userList;}L.CDQvDw.QX L public void setUserList(String[]userList) {this.userList userList;} ]YxK\T5X l%wR c-mZARF2~ private String selectedUsers[] new String[0];!cS1G}2D J i public String[] getSelectedUsers () {return selectedUsers;}JAVA中文站社区门户0r C(f[O public void setSelectedUsers (String[]selectedUsers) {this.selectedUsers selectedUsers;} KLnKkA8P)^ JAVA中文站社区门户 u9G erZ7u9x 如果我们在初期时在action里对bean赋值7P%z_(q}auserList { User(”1”,”name1”), User(”2”, ”name2”), User(”3”,”name3”) }ek?^,}ZiselectedUsers {“1””3”}PH%KG$FV#b%l2z8*O那画面选中第一第三个选择框. gVK^9lE.z$G JAVA中文站社区门户-LXL7rXS 用户修改选择框,选择了第二,第三个,那么在action里取bean的值Y!Iz0u:n)a/qlG bString selectedItems[] new String[list.getSize()];L#z-^W)GDj0Ik,C UselectedItems form.getSelectedItems();JAVA中文站社区门户WJ(lfwnfor ( int i 0 ; i selectedItems.length ; i ){JAVA中文站社区门户*Ua d8d LOGGER.debug( selected i : selectedItems[i]);U kQH f};zD4w6c-ESelected 0 : 2 JAVA中文站社区门户A*J9M6Ek#?3mSelected 1 : 3JAVA中文站社区门户L FktBW2TselectedUsers {“2””3”} P(|#|*\D.CL Y b%k4QF0q⑤画面上有一user表,每条数据前面有个button,对应一条记录,如何确定选中那条数据呢??AL^RUS4{QSampleJsp:lMbA oh,zZs logic:iterate iduser indexIdbuttonIndex namesampleForm propertyuserListJAVA中文站社区门户A!d h2x xC/FURZ trJAVA中文站社区门户yO f vn\sFD8\| td4t$\Fn1U*nC0F^ html:submit propertybutton indexedfalse JAVA中文站社区门户y [z]#r^Ip(dA*t bean:message keylabel.button.selectUser/JAVA中文站社区门户cT(ae\D /tdJAVA中文站社区门户k_f{7A5FiGU8w td bean:write nameuser propertyid / /tdJAVA中文站社区门户(fShe,IDe td bean:write nameuser propertyname / /tdJAVA中文站社区门户(P0Am[ c /trJAVA中文站社区门户#}i;N0YMc*l html:hidden namesampleForm propertyselectUserIndex value % buttonIndex %/JAVA中文站社区门户,Me!x} i }v /logic:iterate ;wD*E*\jjs.yC0| JAVA中文站社区门户PsE3O g{ SampleAction.javac C IOjh.~e int index Integer.parseInt(form.getSelectUserIndex());1Eu|1sz6mdn;r3[P 通过一个隐藏变量,得到选中第几条数据,然后就能做相应处理.JAVA中文站社区门户[d2I~s ,eoaoAB8g⑥上面都是通过form和jsp传输数据的.还有session也能让jsp显示数据.但如果我做为设计者,是不提倡这样做的.为什么就不说了.但日本以前的设计很可能会用到session和jsp传数据.那我就有必要讲一下如何用了?做为高达的设计者还是尽量不要用session和jsp沟通.JAVA中文站社区门户P T]t!br \*R/D有个下拉列表框,里面显示所有用户名称.用session传数据.JAVA中文站社区门户%y NfF9Ox1sSampleJsp:1lp5p,| %pageContext.setAttribute(userList,(List) (FwThreadContextm5n-]2K:{,Si .getAttribute(AllUser)));JAVA中文站社区门户V;d {kp^,] t%JAVA中文站社区门户v7V-L0Pd!c:ay html:select propertyselectedUser JAVA中文站社区门户FcE(WTO I html:options collectionuserList propertyid labelPropertyname /PSH$OX6F /html:selectJAVA中文站社区门户Y8lE(C8PR JAVA中文站社区门户Q6K lA Y_;db SampleForm.java:uH1k%UR^ Mk6} String selectedUser;A9r2-tg ^n| _Form里只要一个selectedUser,表示选择的user. 下拉列表框用session表示.JAVA中文站社区门户)R6zAM*?}在action等地方设置了session的内容,那下拉列表框就能显示内容了.这里session名为AllUser, labelPropertyname是下拉列表框显示的东东, propertyid是下拉列表框每条数据隐藏的东东.通过propertyselectedUser里得到选中那条数据 W_ R8p:O*Pn x c3|C6X{73wd ^S$m html:text namesampleForm propertyname t0[lG5X1g{hvalue % (FwThreadContext.getAttribute(UserName)).toString() % /JAVA中文站社区门户Z;zIUBUR这里很简单就是把session名为UserName设置到Text框中.得的时候还是通过form中的name得到. h,u _C,^$E3QIR9No W!NK1s_~)E4?.WZ tF#s C6c1p0YyI%SS标签宝典:(o)i-ap 1,lablexhDioA6N| bean:write namesampleForm propertyname /QDa2zv2,text8~/U2KV%YnV html:text namesampleForm propertyname /aII4R65M3,button%e ]vn{ }zG html:submit propertybuttonJAVA中文站社区门户9FQQS] bean:message keylabel.button.save /JAVA中文站社区门户\6_yX}.FU /html:submitJAVA中文站社区门户e6{Et| html:button propertybutton οnclickjavascript:openCalendar(date);3I}7r,L)qd0e| bean:message keylabel.button.date /0_ev!s5EZ /html:button0W!Z7Y9m]-VO4yC4,select .t5BbY(B r!QU)j4S html:select propertyselectedUser JAVA中文站社区门户pV2VYZo?; html:options namesampleForm collectionuserList propertyid labelPropertyname /JAVA中文站社区门户]G*RusE /html:selectUYqnK_2U3d5,checkbox,multibox,G-y8QwJG html:checkbox namesampleForm propertychechbox1 valuetrue /JAVA中文站社区门户UR%bS kL5w %[^Le Od-x.cX5nd logic:iterate name sampleForm iduser propertyuserListJAVA中文站社区门户9q(t2Fefo html:multibox propertyselectedUsers2j9m/Nb bean:write nameuser propertyid/ JAVA中文站社区门户,Q~ Vk?5k6mWz/?2Q /html:multibox(pF;VM/C*MQ bean:write nameuser propertyname/ 8eD:m]e/{ /logic:iterateJAVA中文站社区门户%T!w-Q{ p$c(W:ns^[6, 循环逻辑JAVA中文站社区门户l*Fo2Ts5W logic:present namesampleForm propertyuserList 8wWnFWw^lk0mpy logic:iterate iduser name sampleForm propertyuserListJAVA中文站社区门户U,]lI7r ?(]%? trekO6{ I g5N*e td;Q(N\.\?Jo? V html:radio namesampleForm propertyselectedUserId value % ((jp.co.mhcb.obs.persis.entity.User)pageContext.getAttribute(user )).getId().toString() % /JAVA中文站社区门户 pFT8L:M%~9zz /tdV/S$G B0Fl6Z:z \ td bean:write nameuser propertyid / /tdk;eHB6c\# td bean:write nameuser propertyname / /tdJAVA中文站社区门户IrRj2QCJ/vp /trJAVA中文站社区门户6e0U!i~ DQc7}Q /logic:iterate JAVA中文站社区门户9n4]]P} /logic:presentJAVA中文站社区门户3bP axI4{ JAVA中文站社区门户Sl }5x;|*?d HUU 7,if逻辑wP }1VR_ logic:equal name sampleForm propertyshowAllFlg valuetrue JAVA中文站社区门户i7lmk s v{$W-R html:submit propertybuttonJAVA中文站社区门户I9vLIJ bean:message keylabel.button.all/mXO8x_r:_%Q3p /html:submit;wO0j{9v /logic:equalJAVA中文站社区门户-f$Ws1ZGa2bO4\1R*|!\:c~ logic:equal name sampleForm property showAllFlg valuefalse JAVA中文站社区门户]:a^]3g html:submit propertybuttonJAVA中文站社区门户 ^EJgd6F bean:message keylabel.button.noall/JAVA中文站社区门户s^nc1fw ^{4N /html:submit/ZXC HAH /logic:equal vwM4QxJAVA中文站社区门户:xsk%s!mL_? 转载于:https://www.cnblogs.com/feifeihu/archive/2012/08/15/2640262.html