当前位置: 首页 > news >正文

seo网站分析案例社群营销平台有哪些

seo网站分析案例,社群营销平台有哪些,软件开发工程师的前景,营销型网站建设服务一、先写几个概念: (一)、OGNL: (1)、OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性&#xf…

一、先写几个概念:

(一)、OGNL:

(1)、OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。

(2)、Struts 2默认的表达式语言是OGNL

(二)、OGNL用法:

OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用。

(1)、“#”主要有三种用途:

  1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:
     名称 作用 例子
    parameters包含当前HTTP请求参数的Map#parameters.id[0]作用相当于request.getParameter("id")
    request包含当前HttpServletRequest的属性(attribute)的Map#request.userName相当于request.getAttribute("userName")
    session包含当前HttpSession的属性(attribute)的Map#session.userName相当于session.getAttribute("userName")
    application包含当前应用的ServletContext的属性(attribute)的Map#application.userName相当于application.getAttribute("userName")
    attr用于按request > session > application顺序访问其属性(attribute)#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止
  2. 用于过滤和投影(projecting)集合,如books.{?#this.price<100}
  3. 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}

(2)、“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。


(3)、“$”有两个主要的用途,用于在国际化资源文件中,引用OGNL表达式。在Struts 2和i18n中配置文件


(三)、ActionContext

这个东西简单理解就是存action上下文的,把request,session,application等全部放进去,然后再这个的内部它自己写好了get和set,

比如我们后台要用session时,直接ActionContext.getContext().getSession();就可以得到sessionl了。


二、后台往前台传值的实例

访问web元素又分为两种类型,每种类型下都有两种取值方法

(一)、取得Map类型request,session,application

        ——依赖于容器

        ——依赖注入(ioc)(主要用这个)


(二)、真实类型 HttpServletRequest, HttpSession, ServletContext的引用:

        ——依赖于容器

        ——依赖注入(ioc)


下面四个有四个实例分别介绍这四种方法:


前台页面:

提交表单时,四个按钮分别对应四种方法:

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%><% String context = request.getContextPath(); %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body><form name="f" action="" method=" post">
用户名:<input type="text" name="name"/>
密码:<input type="text" name="password"/><br />
<input type="button" value="submit1" οnclick="javascript:document.f.action='login/login1';document.f.submit();" />
<input type="button" value="submit2" οnclick="javascript:document.f.action='login/login2';document.f.submit();" />
<input type="button" value="submit3" οnclick="javascript:document.f.action='login/login3';document.f.submit();" />
<input type="button" value="submit4" οnclick="javascript:document.f.action='login/login4';document.f.submit();" />
</form></body>
</html>

效果如图:


structs.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.devMode" value="true" /><package name="login" extends="struts-default" namespace="/login"><action name="login*" class="com.bjsxt.struts2.user.action.LoginAction{1}"><result>/user_login_success.jsp</result></action></package>
</struts>


LocationAction1.java

这是依赖structs容器来操作session的

import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction1 extends ActionSupport {private Map request;private Map session;private Map application;public LoginAction1() {request = (Map)ActionContext.getContext().get("request");session = ActionContext.getContext().getSession();application = ActionContext.getContext().getApplication();}public String execute() {request.put("r1", "r1");session.put("s1", "s1");application.put("a1", "a1");return SUCCESS; }	
}


LoginAction2.java

这个是通过依赖注入来实现操作session等属性

import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {private Map<String, Object> request;private Map<String, Object> session;private Map<String, Object> application;//DI dependency injection//IoC inverse of controlpublic String execute() {request.put("r1", "r1");session.put("s1", "s1");application.put("a1", "a1");return SUCCESS; }@Overridepublic void setRequest(Map<String, Object> request) {this.request = request;}@Overridepublic void setSession(Map<String, Object> session) {this.session = session;}@Overridepublic void setApplication(Map<String, Object> application) {this.application = application;}}


LoginAction3.java

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction3 extends ActionSupport {private HttpServletRequest request;private HttpSession session;private ServletContext application;public LoginAction3() {request = ServletActionContext.getRequest();session = request.getSession();application = session.getServletContext();}public String execute() {request.setAttribute("r1", "r1");session.setAttribute("s1", "s1");application.setAttribute("a1", "a1");return SUCCESS; }}

LoginAction4.java

package com.bjsxt.struts2.user.action;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction4 extends ActionSupport implements ServletRequestAware {private HttpServletRequest request;private HttpSession session;private ServletContext application;public String execute() {request.setAttribute("r1", "r1");session.setAttribute("s1", "s1");application.setAttribute("a1", "a1");return SUCCESS; }@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;this.session = request.getSession();this.application = session.getServletContext();}}


项目结构如图所示:



http://www.dt0577.cn/news/28670.html

相关文章:

  • 网站建设公司佛山湖南专业seo公司
  • 海外建站公司2023年中国进入一级战备状态了吗
  • 英文商务网站制作关键词排名批量查询
  • 网站开发项目运营经理岗位职责网络推广费用
  • wordpress网页内容长春seo排名扣费
  • 三室两厅两卫装修实景优化大师tv版
  • 做视频直播网站需要多少资金广东网站营销seo方案
  • 沧州网站设计公司价格免费刷网站百度关键词
  • 佛山公司建站百度趋势搜索大数据
  • 动态网站开发技术哪几种常见的系统优化软件
  • 阿盟住房与建设局门户网站友情链接有用吗
  • 惠州网站建设是什么意思沈阳专业关键词推广
  • 做外贸电商网站小程序开发多少钱
  • 计算机等级培训机构海淀区seo引擎优化
  • 点播视频网站怎么建设外贸是做什么的
  • 做网站从哪里找货源南昌seo专业团队
  • 度更新网站热搜榜排名今日第一
  • 网络营销的形式网站营销提升神马关键词排名报价
  • 东营建设信息网网站买外链
  • 政府网站建设集约化服务器市场调查报告
  • 南平公司做网站短视频seo关键词
  • 上海做网站多少钱免费开店的电商平台
  • 广告传媒网站模板抖音权重查询
  • 深圳网站公司建设百度 营销中心
  • 深圳做网站网络营销公司哪家好百度推广收费多少
  • 网站标题关键优化seo推广什么意思
  • 做跨境的网站有哪些线上推广公司
  • wordpress网站建设教程视频女生seo专员很难吗为什么
  • 兰州 网站建设百度竞价推广后台
  • 网站503错误怎么解决电商平台的营销方式