Struts2获取HTML表单元素与Struts表单标签的区别使用-基础篇

序:

页面和后台之间的数据交互很多时候是依赖表单来完成的,通常使用struts标签相对而言方便点,但效率上很明显比用纯粹的html表单元素要差很多。

虽然比较基础,但是还是在这里对两者结合后台的使用作一个记录。

正文:

Action源码:
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);
 	}
 	//get,set省略
 }
 

xml配置:
<struts>
 	<package name="form" extends="struts-default">
 		<action name="savehtmlform" class="com.company.strutstudy.web.action.FormAction"
 			method="savehtmlform">
 		</action>
 		<action name="showhtmlform" class="com.company.strutstudy.web.action.FormAction"
 			method="showhtmlform">
 			<result name="success">/core/form_html.jsp</result>
 		</action>
 
 		<action name="savestrutsform" class="com.company.strutstudy.web.action.FormAction"
 			method="savestrutsform">
 		</action>
 		<action name="showstrutsform" class="com.company.strutstudy.web.action.FormAction"
 			method="showstrutsform">
 			<result name="success">/core/form_struts.jsp</result>
 		</action>
 	</package>
 </struts>

HTML表单元素使用

html的jsp页面(form_html.jsp):
<form action="savehtmlform.action" method="post">
 			<table border="1">
 				<tr>
 					<td colspan="2">
 						Action对html表单元素进行获取
 					</td>
 				</tr>
 				<tr>
 					<td>
 						复选框checkbox
 					</td>
 					<td>
 						<input type="checkbox" name="ck" value="1" />
 						<input type="checkbox" name="ck" value="2" />
 						<input type="checkbox" name="ck" value="3" />
 						<input type="checkbox" name="ck" value="4" />
 					</td>
 				</tr>
 				<tr>
 					<td>
 						文本框text
 					</td>
 					<td>
 						<input type="text" name="text" />
 					</td>
 				</tr>
 				<tr>
 					<td>
 						单选radio
 					</td>
 					<td>
 						<input type="radio" name="radio" value="1" />
 						<input type="radio" name="radio" value="2" />
 						<input type="radio" name="radio" value="3" />
 						<input type="radio" name="radio" value="4" />
 					</td>
 				</tr>
 				<tr>
 					<td>
 						单选下拉select
 					</td>
 					<td>
 						<select name="select">
 							<option value="1">
 								one
 							</option>
 							<option value="2" selected="selected">
 								two
 							</option>
 							<option value="3">
 								three
 							</option>
 							<option value="4">
 								four
 							</option>
 						</select>
 					</td>
 				</tr>
 				<tr>
 					<td>
 						多选下拉select
 					</td>
 					<td>
 						<select name="multiple" multiple="multiple">
 							<option value="1">
 								one
 							</option>
 							<option value="2" selected="selected">
 								two
 							</option>
 							<option value="3">
 								three
 							</option>
 							<option value="4">
 								four
 							</option>
 						</select>
 					</td>
 				</tr>
 				<tr>
 					<td>
 						文本域(textarea)
 					</td>
 					<td>
 						<textarea rows="2" cols="3" name="textarea">
 						</textarea>
 					</td>
 				</tr>
 				<tr>
 					<td colspan="2">
 						<input type="submit" value="保存表单">
 					</td>
 				</tr>
 			</table>
 </form>
页面展示:


Struts2表单标签使用

struts2标签的jsp页面(form_struts.jsp):
<s:form action="savestrutsform" method="post">
 		<s:label value="Action对struts2表单元素进行获取" ></s:label>
 			<table border="1">
 				<s:checkboxlist label="复选框checkbox"
 					list="{1,2,3,4}"
 					value="1,2" name="ck" />
 				<s:textfield label="文本框text" name="text" value="" />
 				<s:radio list="{1,2,3,4}" name="radio" label="单选radio(list)"></s:radio>
 				<s:radio list="#{'1':'one','2':'two','3':'three','4':'four'}"
 					name="radio" label="单选radio(map)"></s:radio>
 				<!-- value中设置默认选中 -->
 				<s:select label="单选下拉select" list="{1,2,3,4}" value="1"
 					name="select" />
 				<s:select label="多选下拉select" list="#{'1':'one','2':'two'}"
 					value="1" name="multiple" multiple="true" />
 				<s:textarea label="文本域textarea" name="textarea" value="" cols="2"
 					rows="3"></s:textarea>
 				<s:submit value="保存表单"></s:submit>
 			</table>
</s:form>

结果展示:

总结:

两者的使用区别通过查看上面的实例,还是比较大的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值