Struts2标签-HTML标签与struts2标签区别

一)struts2中的HTML标签与用原始的hteml标签哪个更好?有什么区别?为什么要使用上struts2标签?

1)应该根据实际情况的选取,当你的标签中出现了action返回的参数,选用struts的html标签可能好些,否则你的页面会出现<%=%>,这在项目中不允许的,当然要是普通的html,就没有必要使用struts的html标签。

 也不是一定要用,只是用struts2标签会比纯html标签方便;如果页面用struts的标签,action跳转到页面的时候会自动将参数带到页面显示(action中要有setter & getter ) ,纯html标签的话就要自己做个处理了,还比如迭代标签什么的,html标签就不好使用了

其实、Struts2标签也只是对html标签做了一些处理,有时候用Struts2标签很容易就实现的东西、用html实现比较麻烦!
比如像struts2 checkboxlist 标签、select 标签这些用Struts2实现起来比较方便!下面实例展示。

2)主要区别是:html 5的标签还是客户端浏览器执行的,而struts 2标签需要服务器端先编译后再发送给客户端浏览器执行。这个在开始学的时候会比较乱不好把握。 

html 5比较火是因为现在很多本地应用程序的功能在遵循html新标准以后都可以实现为网页了,但目前还有兼容性问题,如ie对标准的支持不好,标准本身也还是草案并未正式推出。

3)struts 2标签主要是结合struts 2框架用的,常用的如迭代标签、条件判断标签等在服务器程序开发中很方便,生成html标签后应该都是标准的,不存在兼容问题。


二)代码演示

1、使用html做的简单表单代码


    
    使用html顯示的頁面 
  
  

Action对html表单元素进行获取
复选框checkbox
文本框text
单选radio
单选下拉select
多选下拉select
文本域(textarea)

结果显示:


2、使用struts2的标签做的表单代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


使用struts2標籤



	
	
			
			
				
				
    
				
				
     
     
				
				
			


结果展示:


3、其他文件

1)FormAction类

public class FormAction {
 	private String text;
 	private String radio;
 	private String ck;
 	private String select;
 	private String multiple;
 	private String textarea;
 
 	public String savestrutsform() {
 		log(getText());
 		log(getRadio());
 		log(getCk());
 		log(getSelect());
 		log(getMultiple());
 		log(getTextarea());
 		return "none";
 	}
 	public String showstrutsform() {
 		return "success";
 	}
 	public String savehtmlform() {
 		log(getText());
 		log(getRadio());
 		log(getCk());
 		log(getSelect());
 		log(getMultiple());
 		log(getTextarea());
 		return "none";
 	}
 
 	public String showhtmlform() {
 		return "success";
 	}
 
 	public void log(String str) {
 		System.out.println(str);
 	}
 	//getter,setter省略
	
 }

2)xml配置文件



 	
 		
 		
 		
 			/core/form_html.jsp
 		
 
 		
 		
 		
 			/core/form_struts.jsp
 		
 	
 

三)html5和struts2标签怎一起使用

1)如果我用html5做表现层,struts2怎么办呢?

       通过上面的实例大概也可以看出,在某些时候struts2标签确实很好用,简便快捷还要开源!

       struts2使用freemarker写的,把模板自己升级到html5,然后再struts.xml里配置新的模板路径即可用Struts2的标签做传值,剩下的都用html5,但是struts2的标签解析完了也是html标签,最好的做法是不用struts2的标签,用ajax传值。

参考:http://blog.csdn.net/techbirds_bao/article/details/8268719


你可能感兴趣的:(IT修真-大还丹-Struts)