关于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. ...
随机推荐
- Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)
2014-06-08 Created By BaoXinjian
- sublime text怎样安装ctags来定位函数
sublime确实是一款非常不错的开发软件.用起来非常爽,里面集成了非常多插件.仅仅要安装就可以, 下来来介绍下sublime中ctags插件的安装,安装这个插件之后就能够高速定位某函数了,很方便. ...
- atcoder之A Great Alchemist
C - A Great Alchemist Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB Problem Carol i ...
- (转)C#中的Predicate<T>与Func<T, bool>
Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型.这个是祖宗. Func可以接受0个至16个传入参数,必须具有返回值. Action可以接受0个至16个传入参数,无 ...
- nginx php-fpm 输出php错误日志(转)
nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息. nginx把对php的请求发给php-fpm fastcgi进程来处理, ...
- unity, multi pass shader中的surface pass
今天尝试写一个multi pass shader,但其中有一个Pass是surface pass,总是莫名奇妙地报错.后来看到下面帖子: http://forum.unity3d.com/thread ...
- nginx中配置404错误页面的教程
什么是404页面如果网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGI ...
- ZYSocket 4.2.3 SOCKET框架组 发布[NEW]
http://blog.csdn.net/luyikk/article/details/6099337
- Oracle 每五千条执行一次的sql语句
今天碰到一个问题,更新历史数据时,由于数据库表数据量太大,单行更新速度很慢,要求每五千条执行一次提交进行更新.执行SQL如下: declare i_count int; i_large int; be ...
- Parallel Programming AND Asynchronous Programming
https://blogs.oracle.com/dave/ Java Memory Model...and the pragmatics of itAleksey Shipilevaleksey.s ...