`

ognl简单标签

阅读更多
<%@ 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>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
 
  <body>
   <h1>登陆页面</h1>
   <form action="login">
   姓名:<input type="text" name="user.name"/><br/>
   密码:<input type="password" name="user.pwd"/><br/>
   <input type="submit" value="登陆"/>
   </form>
   <s:textarea name="personal" cols="10" rows="5" label="个人简历"></s:textarea>
   <h3>使用name和list属性,list属性的值是一个列表</h3>

<s:form>

    <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"/>

</s:form>
<h3>使用name和list属性,list属性的值是一个Map</h3>

<s:form>

    <s:select label="最高学历" name="education" list="#{1:'高中',2:'大学',3:'硕士',4:'博士'}"/>

</s:form>
<h3>使用headerKey和headerValue属性设置header选项</h3>

<s:form>

    <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

       headerKey="-1" headerValue="请选择您的学历"/>

</s:form>
<h3>使用emptyOption属性在header选项后添加一个空的选项</h3>

<s:form>

    <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

       headerKey="-1" headerValue="请选择您的学历"

       emptyOption="true"/>

</s:form>

<h3>使用multiple属性设置多选</h3>

<s:form>

    <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

       headerKey="-1" headerValue="请选择您的学历"

       emptyOption="true"

       multiple="true"/>

</s:form>
<h3>使用size属性设置下拉框可显示的选项个数</h3>

<s:form>

    <s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"

       headerKey="-1" headerValue="请选择您的学历"

       emptyOption="true"

       multiple="true" size="8"/>

</s:form>
实例:

<s:form name="test">

    <s:doubleselect label="请选择所在省市"

       name="province" list="{'四川省','山东省'}" doubleName="city"

       doubleList="top == '四川省' ? {'成都市', '绵阳市'} : {'济南市', '青岛市'}" />

</s:form>
<s:form>

    <s:checkboxlist name="interest" list="{'足球','篮球','排球','游泳'}" label="兴趣爱好"/>

</s:form>
<s:submit type="image" method="login" src="images/login.jpg"></s:submit>
实例2.<s:submit type="button" action="selectTag" method="login" label="登陆"></s:submit>

<s:form>

<!-- 使用简单集合来生成可上下移动选项的下拉选择框 -->

<s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"

    moveUpLabel="向上移动"

    list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
    </s:form>
    例子:

<s:head/>

<s:form>

    <s:optiontransferselect

    label="最喜爱的图书"

        name="javaBook"

        list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}"

        doubleName="cBook"

        doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}"/>

</s:form>
<s:form>

    <s:optiontransferselect

    label="最喜爱的图书"

        name="book1"

        leftTitle="Java图书"

        rightTitle="C/C++图书"

        list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}"

        headerKey="-1"

        headerValue="--- 请选择 ---"

        emptyOption="true"

        doubleName="book2"

        doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}"

        doubleHeaderKey="-1"

        doubleHeaderValue="--- 请选择 ---"

        doubleEmptyOption="true"

        addToLeftLabel="向左移动"

        addToRightLabel="向右移动"

        addAllToLeftLabel="全部左移"

        addAllToRightLabel="全部右移"

        selectAllLabel="全部选择"

        leftUpLabel="向上移动"

        leftDownLabel="向下移动"

        rightUpLabel="向上移动"

        rightDownLabel="向下移动"/>

</s:form>
<%java.util.Date date = new java.util.Date(); %>
<%=date%>

<s:date name="time" format="" />

  </body>
</html>
分享到:
评论

相关推荐

    ognl标签的使用案例

    **ognl标签的使用案例** OGNL (Object-Graph Navigation Language) 是一种强大的表达式语言,主要用于在Java应用程序中获取和设置对象属性。在Web开发领域,尤其是与Struts2框架结合时,OGNL标签被广泛用于视图层,...

    ognl图形导航语言

    在使用OGNL表达式时,尤其是在Struts2的标签中,需要特别注意`#`、`%`这两个符号的使用。`#`符号有三个主要用途: 1. 访问非根对象,如OGNL上下文和Action上下文,`#`常用于访问ActionContext中的各种上下文属性。 ...

    OGNL语言中文资料

    2. **Struts2框架**:Struts2的Action和Result配置、拦截器参数传递、JSP标签等都大量使用OGNL,使其成为表现层与业务层交互的关键。 四、学习资源与实践 1. **OGNL文档**:官方文档详尽解释了OGNL的所有特性和用法...

    OGNL

    你可以从标签中的“源码”出发,了解其内部实现,包括解析器、上下文管理、类型转换等机制。 ### 工具支持 在开发过程中,有一些工具可以帮助调试和测试OGNL表达式,例如使用Struts 2的`ognl3-examples`项目,或者...

    ognl和el区别

    OGNL允许开发者通过简单的字符串表达式来获取或设置对象的属性,甚至调用方法、操作数组和集合等。例如,`user.name`可以用来获取名为`user`的对象的`name`属性值。 2. **EL简介** EL是Java EE规范的一部分,主要...

    OGNL表达式

    OGNL表达式通常结合Struts2的标签一起使用,比如使用 `&lt;s:property value="expression"/&gt;` 来展示数据。在使用过程中,需要注意#、%和$这三个符号的正确使用: - **#**:通常用于表示OGNL表达式,在Struts2中作为...

    struts2标签和OGNL表达式

    总的来说,OGNL是Struts2框架中不可或缺的一部分,它提供了一种强大而灵活的方式来访问和操作对象属性,结合Struts2的标签,使得视图层和模型层之间的数据交互变得简单且高效。通过理解OGNL的工作原理和在Struts2中...

    ognl-2.6.11.jar源码

    以一个简单的例子说明OGNL的工作原理: ```java Action action = new Action(); action.setName("John"); Map, Object&gt; context = new HashMap(); context.put("action", action); String expression = "action.name...

    OGNL表达式2讲

    OGNL表达式可以是简单的属性引用,也可以是复杂的运算表达式。它支持算术、比较、逻辑操作符,以及函数调用和自定义方法。例如,`a + b`、`a &gt; b`、`!(c == null)`等。 3. **OGNL与标签的结合** 在Web开发中,...

    Struts2深入学习----OGNL表达式原理

    OGNL是一种强大的表达式语言,允许开发者通过简单的字符串表达式来访问和修改对象图。在Struts2中,OGNL用于在Action和视图之间传递数据,以及在表单提交后自动将请求参数映射到Action属性。 OGNL表达式的基本语法...

    struts2中ognl表达式的理解和用法

    4. JSP标签库:Struts2提供了丰富的JSP标签库,这些标签内部也大量使用了OGNL来获取和显示数据。 四、OGNL的安全性问题 由于OGNL的强大功能,如果不加以限制,可能会引发安全风险,比如OGNL注入。攻击者可以通过...

    Struts2之Ognl详解案例TextOgnl

    在"TestOGNL"案例中,我们可能看到一个简单的Struts2应用,其中包含一个Action类和一个对应的JSP页面。Action类可能会有如下属性: ```java public class TestAction { private String name; private List...

    ognl-3.0-jars.zip

    1. **动态属性访问**:OGNL允许通过简单的字符串表达式访问和修改对象的属性,无需预先知道对象的类结构。 2. **方法调用**:可以调用对象的方法,支持参数传递。 3. **表达式计算**:支持数学运算、逻辑运算以及...

    struts2中OGNL的一些概念及原理说明

    不过需要注意的是,OGNL表达式通常需要嵌入在Struts2的特定标签内才能发挥作用。 4. **OGNL的六种使用方法**:在实际应用中,OGNL表达式具有多种用途,包括但不限于: - **基本用法**:如上例所示,直接通过对象...

    s20505_valueStack_OGNL

    在Struts2框架中,OGNL被用来在Action类与JSP页面之间传递数据,通过简单的表达式可以方便地获取或设置对象属性。 2. **OGNL语法**:OGNL表达式通常以`.`操作符为核心,例如`user.name`表示获取名为`user`的对象的`...

    struts2中siterator 标签的使用详解 及 OGNL用法

    接下来,我们将详细介绍 `siterator` 标签的使用和 OGNL 的用法。 1. **siterator 标签的属性**: - **value**:这是必需的属性,用于指定要迭代的集合。可以是直接的值,如数组或 Map,也可以是从 Action 中返回...

    struts2标签使用例子

    在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...

    Ognl_JSTL_学习笔记.zip

    例如,JSTL的`c:forEach`标签可以用来遍历一个集合,然后使用OGNL表达式来访问每个元素的属性。这样,开发者可以在JSP页面上直接使用Ognl表达式来显示动态数据,而无需在JSP页面中混杂大量的Java代码。 **学习笔记...

    struts2 taglib ognl java jsp

    OGNL不仅可以访问简单的属性,还可以处理复杂的对象关系,如集合、Map等。其主要特性包括: 1. 直接属性访问:如`user.name`,直接获取`user`对象的`name`属性。 2. 集合和数组操作:如`users[0].name`,获取集合或...

    IDEA中使用Struct2 + OGNL实现简单的注册功能

    在这个例子中,`s:textfield`标签通过OGNL自动将表单字段与`RegistrationAction`中的`User`对象的属性进行绑定。当用户填写完表单并提交后,Struts2会自动将表单数据转换为`User`对象,然后调用`execute()`方法进行...

Global site tag (gtag.js) - Google Analytics