关于Struts2的界面的摆放
控件有的时候怎么放都感觉放不到自己想要的位置,这时候可以有这几个做法
1.用一个table标签来创建一个表格,再在表格里面一行一列地放,比较整齐
2.用表格,结果却发现有的控件位置莫名其妙,这时候就要加一个form标签,再设置主题 theme="simple",就不会变的很奇怪
例子
<s:form action="Login.action" method="post" theme="simple"><!-- 检验必须用xhtml主题才会显示 -->
<s:property value="errors['user.login_username'][0]" /><br>
<s:property value="errors['user.login_passward'][0]" /><br>
<s:property value="errors['user.code'][0]" />
<table border="1">
<tr>
<td width="60px">用户名:</td>
<td width="60px"><s:textfield name="user.login_username" label="用户名"></s:textfield></td>
</tr>
<tr>
<td width="60px">密码:</td>
<td width="60px"><s:password name="user.login_passward" label="密码"></s:password></td>
</tr>
<tr>
<td width="60px">验证码:</td>
<td width="60px"><s:textfield name="user.code" label="验证码"></s:textfield></td>
</tr>
<tr>
<td width="60px"></td>
<td width="60px"><img src="randPic.action" onclick="changeValidateCode(this)" title="点击图片刷新验证码"/></td>
</tr>
</table>
<s:submit value="登录"></s:submit>
</s:form>
<s:form action="Login.action" method="post" theme="simple"><!-- 检验必须用xhtml主题才会显示 --> <s:property value="errors['user.login_username'][0]" /><br> <s:property value="errors['user.login_passward'][0]" /><br> <s:property value="errors['user.code'][0]" /> <table border="1"> <tr> <td width="60px">用户名:</td> <td width="60px"><s:textfield name="user.login_username" label="用户名"></s:textfield></td> </tr> <tr> <td width="60px">密码:</td> <td width="60px"><s:password name="user.login_passward" label="密码"></s:password></td> </tr> <tr> <td width="60px">验证码:</td> <td width="60px"><s:textfield name="user.code" label="验证码"></s:textfield></td> </tr> <tr> <td width="60px"></td> <td width="60px"><img src="randPic.action" onclick="changeValidateCode(this)" title="点击图片刷新验证码"/></td> </tr></table><s:submit value="登录"></s:submit> </s:form>
关于Struts2的界面的摆放的更多相关文章
- 界面设计中如何增强CTA按钮召唤力?
以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 网页和软件应用之类数字产品的有效交互系统一般是由拥有各种任务和功能的小元素构成.而为创建更加 ...
- DELPHI XE5开发WEB服务器及安卓手机客户端
Xe5开发web服务端和手机客户端 ------------------------------------- Delphi xe5作为最新开发利器,就类似如当年的DELPHI,功能强大,快发速度快, ...
- delphi xe5 android 手机上使用sqlite
本篇我们介绍一下在android手机上怎样使用sqlite数据库,这里用Navigator实现 增删改查. 1.新建firemonkey mobile application 2.选择blank ap ...
- delphi xe5 android 开发数据访问手机端(一)
上几片文章我们把供手机端调用的web服务完成,接下来实现手机端调用webservices获取数据 1.新建firemonkey mobile application 2.选择blank applica ...
- 滚动条QScroolBar实现滚屏功能(屏幕过大,覆盖wheelEvent来处理滑轮事件)
环境:Qt5 编译器:Qt Creator 需求:如图 显示区域win 600*300 需要显示的Widget控件show 590*550 则有600*250的show界面无法显示 使用滑块控制sho ...
- PS-前端切图教程(切jpg图和切png图)
微微一运功,把家底都抖出来了. 不过,作为一个设计出身的前端来说,摸ps就和摸键盘一样了 所以可能教程中还是有没用过ps的人看不懂的地方, 欢迎加群讨论:613512106... ---------- ...
- ActiveReport系列报表开发随笔收集
转自:博客园 http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html 使用ActiveReport for ...
- Qt中(图片)资源的使用方式
Qt中使用图片资源的方法有很多种,以前我一直分不清各种之间的区别和Qt相应的处理机制,后来遇到一些实际的问题,然后再加上查阅源码和资料,总算弄明白一些事情,但是本文仅仅是个人理解,如有错误之处请告诉我 ...
- XE5 Android 开发数据访问手机端[转]
把供手机端调用的web服务完成,接下来实现手机端调用webservices获取数据 1.新建firemonkey mobile application 2.选择blank application 3. ...
随机推荐
- 进程在Linux内核中的角色扮演
在Linux内核中,内核将进程.线程和内核线程一视同仁,即内核使用唯一的数据结构task_struct来分别表示他们:内核使用相同的调度算法对这三者进行调度:并且内核也使用同一个函数do_fork() ...
- /proc/meminfo分析(一)
本文主要分析/proc/meminfo文件的各种输出信息的具体含义. 一.MemTotal MemTotal对应当前系统中可以使用的物理内存. 这个域实际是对应内核中的totalram_pages这个 ...
- sqlserver把小数点后面多余的0去掉
Sql中想把小数点后多余的0去掉,怎么办? select 5000/10000.0 --想变成0.5select 5500/10000.0 --想变成0.55select 5550/10000.0 - ...
- poj1564 Sum it up
题目链接: http://poj.org/problem?id=1564 题目: Sum It Up Time Limit: 1000MS Memory Limit: 10000K Total S ...
- ucosii事件控制块------消息邮箱与消息队列
UCOSII 使用叫做事件控制块(ECB)的数据结构来描述诸如信号量.邮箱(消息邮箱)和消息队列这些事件 #define OS_EVENT_EN (((OS_Q_EN > 0u) &&a ...
- Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT
Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...
- jQuery $.extend()使用方法
$.extend()使用方法总结. jQuery为开发插件提拱了两个方法,各自是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.ex ...
- env命令详解
env命令时gnu的coreutils包内的一个软件,它的功能是:在一个修改后的环境里执行命令. 通俗的讲:一个linux软件可能被安装在好几个地方,举个例子:在最新的centos中perl的版本为5 ...
- Is "UNION ALL" Always Better Than "UNION"? Watch Out!
无论是教科书还是平常的实践都告诉我们 - “尽量避免用UNION,尽可能用UNION ALL替代”. 原因很简单,UNION会对结果集进行排序去重操作,这是一个很消耗资源的操作. 但是,今天碰到了一个 ...
- [svc]mousedos网络批量部署xp
小时候对这个东西很好奇,不知道什么原理.一直觉得很好玩.现在研究了下,总结如下 软件的操作步骤很讲究,稍微不慎,则就需要重新来过 知识点: 1,掌握诺顿ghost分区为gh文件 2,学会清理至一个干净 ...