Jsp页面迭代、取值、选择标签

页面使用的是struts标签:

<%@ taglib prefix="s" uri="/struts-tags"%>


先在action类创建一个session,

<span style="white-space:pre">	</span>//验证成功,保存数据到session,跳转到主页
	if (loginUser!=null) {
		Map<String, Object> session = ActionContext.getContext().getSession();
		session.put("loginUser", loginUser);
		return "loginSuccess";
	}else {
		ActionContext.getContext().put("message", "用户名或密码输入有误!");
		return "loginUI";
	}


然后在页面通过session可以拿到action里面的值

${sessionScope.loginUser.name } 

判断发布与停用二者之间的变换

<td align="center"><s:property value="state==1?'发布':'停用'"/></td>
     <td align="center"><span >
         <s:if test="state==1">
            <s:a href="info_updateState.action?info.id=%{id}&info.state=0" namespace="/ss">
                <font color="red">停用</font>
            </s:a>
         </s:if>
         <s:else>
            <s:a href="info_updateState.action?info.id=%{id}&info.state=1" namespace="/ss">
                  发布
            </s:a>
         </s:else></span>


js事件,使用s标签

<a href="javascript:doEdit('<s:property value='id'/>')">编辑</a>

<script type="text/javascript">
        //<%@include file="/common/header.jsp"%>这个标签是引用公共页面,basePath就在公共页面里面
        function doEdit(id) {
		window.location.href="${basePath}/ss/info_editUI.action?info.id="+id;
	}
</script>


分页jsp

<td align="right">
    总共${pb.totalSize }条记录,当前第 ${pb.currentPage }/${pb.totalPage } 页,共 ${pb.totalPage } 页   
          <a href="javascript:gotoPage(1)">首页</a>  
          <a href="javascript:gotoPage(${pb.prePage })">上一页</a>
          <a href="javascript:gotoPage(${pb.nextPage })">下一页</a>
          <a href="javascript:gotoPage(${pb.totalPage })">末页</a>
		转到
	<input type="text" style="width: 30px;" name="mm" οnchange="gotoPage(this.value)">页  
		每页显示
	<select name="pageSize" οnchange="gotoPage(1)">//下拉选项框,迭代1-10,每页显示多少行,任意选
		<s:iterator var="num" begin="1" end="10" step="1">
			<s:if test="#num==#pb.pageSize">//判断如果选中的行数与默认的行数一致就默认选中
				<option value="${num }" selected="selected">${num }</option>
			</s:if>
			<s:else>//否则选中多少就是页显示多少行
			<span style="white-space:pre">	</span><option value="${num }">${num }</option>
			</s:else>
		</s:iterator>
	</select>行  
</td>
<script type="text/javascript">
        function gotoPage(currentPage) {
		document.getElementById("currentPage").value=currentPage;
		document.forms[0].action="${basePath}/ss/info_listUI.action";
		document.forms[0].submit();
	}
</script>

jsp迭代类里面的set集合属性里面的值:Role=>>private Set<RolePrivilege> rolePrivileges = new HashSet<>();
步骤:1、先在action类里面将 RolePrivilege存储到域。

//角色列表展示
public String  listUI() {
	list = roleService.findAll();
	ActionContext.getContext().put("PRIVILEGES", Constant.PRIVILEGES);
	return "listUI";
}
写一个Constant.PRIVILEGES常量类(静态),是为了在数据库存储的是代号,但是在页面显示的是名称,用Map即可,非常好用

public class Constant {
	// OA系统,内部评测系统,行政管理,社保服务管理,KPI考核
	public static final String PRIVILEGE_OA = "oa";
	public static final String PRIVILEGE_EXAM = "exam";
	public static final String PRIVILEGE_XZGL = "xzgl";
	public static final String PRIVILEGE_SBFW = "sbfw";
	public static final String PRIVILEGE_KPI = "kpi";
	
	public static final String LOGIN_USER="loginUser";
	
	//存储权限编码与权限名称
	public static Map<String,String> PRIVILEGES = new HashMap<String,String>();
	static{
		PRIVILEGES.put("oa", "OA系统");
		PRIVILEGES.put("exam", "内部评测系统");
		PRIVILEGES.put("xzgl", "行政管理");
		PRIVILEGES.put("sbfw", "社保服务管理");
		PRIVILEGES.put("kpi", "KPI考核");
	}
}
2、在页面迭代取值,用到两个迭代器,第一个迭代器是先得到set集合里面的对象,然后第二个迭代器迭代

set集合对象里面的属性privilegeCode字段。因为用了map集合,在页面显示的是名称,不再是代号,做了很巧妙的转换

<s:iterator  value="#role.rolePrivileges">
        <s:property value="#PRIVILEGES[privilegeCode]"/>
</s:iterator>


页面修改链接:方法1、可以使用function功能,如下

<a href="javascript:doEdit('<s:property value='#role.id'/>')">编辑</a>

  	function doEdit(id) {
  		window.location.href="role_editUI.action?role.id="+id;
	}

方法2、也可以直接在a标签上提交, 如下

<a href="role_editUI.action?role.id=${role.id }/>')">编辑</a>


页面单选按钮:

<td class="tdBg" width="200px">状态:</td>
<td><s:radio list="#{'1':'有效','0':'无效'}" name="role.state"/></td>















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值