2016年8月8日,SSH框架学习第一个综合案例:在使用Struts标签实现表单时出现文本框位置异常的情况,如下图:
代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>添加员工</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<s:form action="/employee_add.action" method="post" >
<table border="2" cellpadding="2" align="center" cellspacing="0" width="60%">
<tr align="center">
<td width="30%">员工姓名</td>
<td><s:textfield name="employeeName" id="employeeName"></s:textfield></td>
</tr>
<tr align="center">
<td>员工工资</td>
<td><s:textfield name="employeeSalary" id="employeeSalary"></s:textfield></td>
</tr>
<tr align="center">
<td>选择部门</td>
<td>
<s:select
name="deptId"
headerKey="-1"
headerValue="请选择"
list="#request.deptList"
listKey="deptId"
listValue="deptName"
></s:select>
</td>
</tr>
<tr align="center">
<td colspan="2">
<s:submit value="添加员工"></s:submit>
<s:a href="employee_show">返回</s:a>
</td>
</tr>
</table>
</s:form>
</body>
</html>
在网上查找了大量的资料才发现缺少了一个属性:theme="simple"
该属性时struts2本身标签是带样式,加上theme=“simple”就是不启用struts2默认提供的样式,就跟普通jsp一样,Struts2的默认样式是XHTML
<s:form action="/employee_add.action" method="post" theme="simple">