struts2_11.1_OGNL(1)

首先了解下OGNL的概念:

OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能。
User .java

public class User {
    private String name;
    private int age;
    //这里尽量提供无参构造方法,因为struts会找默认构造方法帮我们创建对象,如果没有默认构造方法就不会自动帮我们创建对象,需要我们在action中手动new一个对象。
    public User() {

    }

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

}

struts.xml



<struts>
    <constant name="struts.devMode" value="true" />

    <constant name="struts.i18n.encoding" value="utf-8" />
    <package name="OGNL1" namespace="/OGNL1" extends="struts-default">
        <action name="OGNL1" class="com.test.user.UserAction" method="add">
            <result>/OGNL1.jspresult>
        action>
    package>
struts>

OGNL1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
<hr>
<s:property value="user.age"/>
<s:debug>s:debug>
<hr>
body>
html>

localhost:8080/z-struts2-10/OGNL1/OGNL1?user.age=8访问得到结果

struts2_11.1_OGNL(1)_第1张图片

你可能感兴趣的:(structs)