关于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. ...
随机推荐
- PLSQL_数据结构类型的解析(概念)
2014-06-02 Created By BaoXinjian
- Linux内核(11) - 子系统的初始化之内核选项解析
首先感谢国家.其次感谢上大的钟莉颖,让我知道了大学不仅有校花,还有校鸡,而且很多时候这两者其实没什么差别.最后感谢清华女刘静,让我深刻体会到了素质教育的重要性,让我感到有责任写写子系统的初始化. 各个 ...
- python-循环与判断练习题
一.设计这样一个函数,在指定的文件夹上创建10个文本,以数字给它们命名. def text_creation(): path ='D:/study/python3/w/' for name in ra ...
- Python 字典 update() 方法
描述 Python 字典 update() 方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中. 用法与 Python dict() 函数相似. 语法 update ...
- tp查询范围
一.查询范围 //说明username和password是对应模型下的 scopeUsername($query) 和scopePassword($query)方法 //关键字scope 在控制器如 ...
- 4X4矩阵键盘扫描程序
4X4矩阵键盘扫描: 1. 4根行线的GIO均设为Output,根列线的GIO均设为Input: 2. 4根行线的GIO分别置为0111.1011.1101.1110,读逐一读取列线GIO的值,可确定 ...
- python(34):为什么在Python里推荐使用多进程而不是多线程?
最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深 ...
- MySQL PLSQL Demo - 001.创建、调用、删除过程
drop procedure if exists p_hello_world; create procedure p_hello_world() begin select sysdate(); end ...
- Oracle PLSQL Demo - 29.01.Function结构模板 [无入参] [有返回]
CREATE OR REPLACE FUNCTION function_name RETURN DATE AS v_date DATE; BEGIN ; dbms_output.put_line(v_ ...
- UBoot启动代码第一阶段流程
http://blog.csdn.net/xautfengzi/article/details/7470134 前段时间了看了UBoot的源码,放了一段时间之后忘得差不多了.现做一些注释,方便以后温习 ...