`
netxdiy
  • 浏览: 720905 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

取web元素

阅读更多
   访问Web元素

a)  Map类型

      i. IoC

      ii. 依赖Struts2

b) 原始类型

      i. IoC

     ii. 依赖Struts2

struts.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>


index.jsp

<?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>
取得Map类型request,session,application,真实类型 HttpServletRequest, HttpSession, ServletContext的引用:
<ol>
<li>前三者:依赖于容器</li>
<li>前三者:IOC</li> (只用这种)
<li>后三者:依赖于容器</li>
<li>后三者:IOC</li>
</ol>
<br />
<form name="f" action="" method="post">
用户名:<input type="text" name="name"/>
密码:<input type="text" name="password"/>
<br />
<input type="button" value="submit1" onclick="javascript:document.f.action='login/login1';document.f.submit();" />
<input type="button" value="submit2" onclick="javascript:document.f.action='login/login2';document.f.submit();" />
<input type="button" value="submit3" onclick="javascript:document.f.action='login/login3';document.f.submit();" />
<input type="button" value="submit4" onclick="javascript:document.f.action='login/login4';document.f.submit();" />
</form>

</body>
</html>


user_login_success.jsp

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
    <%@taglib uri="/struts-tags" prefix="s" %>
<!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>
User Login Success!
<br />
<s:property value="#request.r1"/> | <%=request.getAttribute("r1") %> <br />
<s:property value="#session.s1"/> | <%=session.getAttribute("s1") %> <br />
<s:property value="#application.a1"/> | <%=application.getAttribute("a1") %> <br />
<s:property value="#attr.a1"/><br />
<s:property value="#attr.s1"/><br />
<s:property value="#attr.r1"/><br />
<s:debug></s:debug>
<br />
</body>
</html>


LoginAction2.java

/依赖注入、控制反转,最常用的一种方法
package com.bjsxt.struts2.user.action;

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.ActionContext;
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 control
public String execute() {
request.put("r1", "r1");
session.put("s1", "s1");
application.put("a1", "a1");
return SUCCESS;
}

@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}

@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}

@Override
public void setApplication(Map<String, Object> application) {
this.application = application;
}


}


LoginAction1.java
/依赖于容器
package com.bjsxt.struts2.user.action;

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;
}


}


LoginAction3.java
/依赖于容器http
package com.bjsxt.struts2.user.action;

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;
}



@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
this.session = request.getSession();
this.application = session.getServletContext();
}

}
分享到:
评论

相关推荐

    易语言穿透所有框架取网页元素

    易语言穿透所有框架取网页元素源码,穿透所有框架取网页元素,取网页元素,所在框架,处理框架事情,网页关键字查找,搜索单语句,取IES对象,取IES句柄,彗星取光标处句柄,彗星取窗口类名,ObjectFromLresult,...

    史上最方便的取色器 适合web开发

    在Web开发中,设计师和开发者通常使用这种格式来定义页面元素的颜色。通过这个取色器,开发者可以直接获取屏幕上的颜色值,无需手动调整或查找颜色代码,极大地提高了工作效率。 该取色器的执行文件名为“我的取色...

    web页面取色工具

    "Web页面取色工具"就是专为这类需求设计的实用软件,它允许用户在任何网页上轻松获取并识别出所见颜色的具体RGB值。RGB(Red, Green, Blue)是数字图像处理中最常见的颜色模型之一,由红色、绿色和蓝色三种基色按...

    (彬)泪闯天涯-取网页元素坐标

    在Web浏览器中,每个HTML元素都有一个特定的位置,这个位置可以通过X和Y坐标来表示。X坐标代表元素在水平方向上的位置,而Y坐标则表示元素在垂直方向上的位置。这些坐标通常是相对于文档的左上角而言的。 获取网页...

    web 版的 银行取号系统 java版

    综上所述,这个“web版的银行取号系统Java版”项目涵盖了网络编程、GUI开发、数据库交互、安全性、并发控制等多个Java核心知识点,是学习和实践Java全栈开发的一个优秀案例。通过深入理解并实现这个系统,开发者可以...

    屏幕取色器,web开发必备工具

    屏幕取色器是一种在计算机屏幕上获取特定像素颜色的实用工具,对于Web开发者来说,它是一个不可或缺的辅助软件。在Web开发过程中,设计师通常会提供色彩设计方案,而开发者需要精确地将这些颜色应用到代码中。屏幕取...

    易语言穿透所有框架取网页元素源码

    本资源"易语言穿透所有框架取网页元素源码"是针对网页元素抓取的一种技术实现,它能穿透各种网页框架,获取到网页中的元素源码。这种技术在数据爬虫、网页分析等领域有着广泛的应用。 首先,我们要理解什么是网页...

    table里面获取所有元素

    在IT行业中,尤其是在Web开发领域,表格(Table)是一种常用的数据展示方式,它允许我们以结构化的方式组织信息。在HTML中,`&lt;table&gt;`元素是创建表格的基础,而获取表格中的所有元素则是进行数据操作、事件绑定或者...

    web开发工具、可用于取色、测量、截图、截长图等等

    取色工具允许用户从屏幕上选取任何颜色的RGB、HEX或其他颜色模式值,这对于保持品牌色彩一致性或匹配现有设计元素非常有帮助。 3. **测量长度**:在网页设计中,精确的尺寸控制是必不可少的。此工具提供的测量功能...

    web开发CSS取色器

    在Web开发中,CSS(Cascading Style Sheets)是一种用于定义网页元素外观和布局的样式表语言。一个CSS取色器工具是开发者必备的辅助工具之一,它可以帮助设计师和前端工程师快速、精确地获取屏幕上任何颜色的CSS表示...

    web开发必备-网页取色与配色工具

    总结起来,"网页取色与配色工具"为Web开发者提供了一整套色彩管理解决方案。这些工具不仅仅是简化了色彩选择和搭配的过程,更重要的是,它们让开发者能够快速地将色彩应用到网页设计中,并确保色彩的和谐与美观。...

    访问Web页面元素

    在Web开发中,访问页面元素是一项基础而关键的任务。这些元素通常包括`request`、`session`和`application`,它们分别对应HTTP请求、会话和全局上下文对象。了解如何有效地操作这些对象对于构建动态网页和管理用户...

    网站Web取色器,取色软件,查看对应颜色

    通过使用Web取色器,设计师可以快速获取网页元素的颜色,确保设计的一致性和品牌识别度。此外,对于前端开发者来说,取色器有助于精确复制和调整代码中的颜色值,避免因为色差导致的视觉不协调。 常见的颜色表示...

    .net 屏幕取色器 Web开发用

    为了解决这一需求,开发人员利用.NET框架创建了一个名为“.net 屏幕取色器 Web开发用”的工具。这个工具不仅是一个屏幕取色器,它还是一个功能全面的色值编辑器,专门设计为适用于Web开发环境,使得选取和使用颜色变...

    Web开发用屏幕尺和屏幕取色器

    在Web开发中,屏幕尺和屏幕取色器的结合使用,可以确保设计元素的尺寸准确无误,颜色匹配精确。比如在制作网页原型、调整布局,或者优化用户体验时,这些工具可以提供实时的数据支持,避免反复预览和修改,提高工作...

    好用取色器,对于Html5,Web,java开发

    Web设计强调用户体验和视觉效果,取色器能够帮助设计师快速从已有的网页元素中提取颜色,保持设计的一致性,或者为新的设计元素找到合适的色彩搭配。同时,它也可以与CSS3的color属性无缝配合,让颜色操作变得更加...

    HTML服务器控件与Web服务器控件的区别

    选择何种控件取决于具体的需求。如果需要复杂的业务逻辑和数据交互操作,Web 服务器控件是一个不错的选择。如果需要简单的交互操作和静态页面,HTML 服务器控件是一个不错的选择。 六、结论 HTML 服务器控件和 Web...

    web.xml中标签详解

    * `&lt;filter-name&gt;` 元素:用于对当前 filter 取一个名称,以便在后面的映射时使用。 * `&lt;icon&gt;` 元素:用于指定应用的大图标和小图标。 * `&lt;init-param&gt;` 元素:用于指定当前 filter 的一些初始化参数。

    适合web开发的屏幕取色软件

    "适合web开发的屏幕取色软件"就是一款专为网页设计师和开发者设计的工具,它使得从屏幕上精确获取颜色参数变得轻而易举。 屏幕取色软件的工作原理是通过捕获屏幕上的像素点信息,解析出该点的颜色值,常见的颜色...

    web调用大华摄像头展示视频

    这里的`src`属性应替换为大华摄像头实际的视频流地址,类型(`type`)取决于摄像头提供的流格式,可能是M3U8(HLS)或其他格式。 2. JavaScript交互:为了实现更丰富的功能,如动态控制播放、暂停、调整音量等,...

Global site tag (gtag.js) - Google Analytics