<s:select>应用简介

一:前台对应的jsp页面

<%@ taglib prefix="s" uri="/META-INF/tld/struts/struts-tags.tld"%>
//这是引入S标签库struts-tags.tld,该标签库文件存放于上面的 uri中
<s:select name="sample">
 <option value="one">第一</option>
 <option value="two">第二</option>
 <option value="three">第三</option>
</s:select>


二:js对应的取值

如:选择下拉列表框中选中的“第二”
var temp1 = $('select[name="sample"]').find('option:selected').text();
var temp2 = s("select[name='sample']").find("option:selected").val();
则这里temp1的结果为“第二
则这里temp2的结果为“two

$('select[name="sample"]').html('');
作用:清空sample下拉列表框的下拉选项(内容)
$('select[name="sample"]').append($('<option>').val("four").html("第四");
作用:给sample下拉列表框添加一个选项,功能类似于:<option value="four">第四</option>

注意:这里的‘单双引号‘’和“”----》即双引号“”里面不能嵌套双引号“”,单引号‘’里面不能嵌套单引号‘’
js中标签中间的内容是  .text()------给标签添间添加加内容是  .html("添加的内容")


三:<s:select>标签的属性

headerValue :     下拉选项默认值value
headerKey    :     下拉选项默认name
listKey           :     下拉选项的name
listValue        :     下拉选项的value
list                 :      源数据 (可以在action方法里从数据库获取list)
name            :      被选中数据存放的位置(如:StudentVo.name),这里存储的内容为listkey的内容,下拉列表框中的选项显示为listvalue中存放的值
value             :      默认值(下拉列表框显示默认选中的值,或者初始化设定的值,这里需要设定的是listkey对应的内容)


EL表达式:  ${resultlist}  ${student.name}
OGNL表达式:#request.resultlist  #{student.name}
OGNL表达式依赖于struts2标签,必须结合struts2标签使用,且EL表达式不能用在struts2标签里

 

四:Java代码,jsp页面,数据表示例

1、数据表:

 

2、jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/META-INF/tld/struts/struts-tags.tld"%>
<%
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>select标签示例</title>   
 <script type="text/javascript" language="JavaScript" src="<%=basePath%>js/jquery/jquery-1.9.1.min.js"></script>
 <script>
  function getBack(){
   var url = "/jsp/business/huanying.jsp";
   location.href=url; //这里的location.href是在当前窗口中打开新的url网页
  } 
  function getStudent(){
   var studentId = $('#studentNo').val();
   var url = "<%=basePath%>allex/selectEx.action?studentVo.id=" + studentId;  //选中某一个选项后,进入修改页面可以默认显示该选中的值
   location.href = url;
  } 
 </script>
  </head>
  
  <body>
 <h2>请选择一个学生</h2>
 <form name="formEx">
  <s:select name="studentVo.id" id="studentNo" headerKey="" headerValue="--请选择--" theme="simple" list="#request.studentList" listKey="id" listValue="userName" value="#{studentVo.id}"οnchange="getStudent()"/>
  <input type="button" value="返回" οnclick="getBack();"/>
 </form>
  </body>
</html>

 

3、java代码:

package cn.test.allex.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.ServletActionContext;

import cn.test.base.SystemInstance;
import cn.test.business.service.Iimpl.IStudentService;
import cn.test.business.vo.StudentVo;

public class AllexAction {
 private StudentVo studentVo = null;
 private IStudentService studentService = (IStudentService)SystemInstance.getInstance().getBean(IStudentService.class);
 
 public StudentVo getStudentVo() {
  return studentVo;
 }
 public void setStudentVo(StudentVo studentVo) {
  this.studentVo = studentVo;
 }
 
 /* select下拉列表框中内容初始化 */
 public String preSelectEx(){
  boolean result = false;

  List<StudentVo> voList = new ArrayList<StudentVo>();
  if(null == studentVo){
   studentVo = new StudentVo();
   studentVo.setId("402881924bc4b3c4014bc4f74c340001");  //jsp页面下拉框默认值的显示:该"402881924bc4b3c4014bc4f74c340001"是world学生的id
  }
  result = studentService.getVoList(voList);  //获得数据表中的内容--获得学生列表DAO操作略
  if(result){
   ServletActionContext.getRequest().setAttribute("studentList", voList);
   return "preSelectEx_success";
  }else{
   return "preSelectEx_fail";
  }
 }
}

 

5、运行结果:

(1)显示初始设定的world默认选中(该select下拉框在headvalue和value同时存在时,显示value设定的默认值)

(2)显示下拉框的内容

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Struts2 是一个基于 Java 的开源 Web 应用框架,它是 Struts 框架的升级版。它提供了一种简单、灵活且可扩展的方式来开发企业级的 Java Web 应用程序。在 HVV 面试中,可能会涉及到 Struts2 相关的问题。以下是一些常见的 Struts2 面试题及其答案: 1. 什么是 Struts2Struts2 是一个基于 MVC(Model-View-Controller)设计模式的 Web 应用框架,它通过将应用程序的不同部分分离开来,使开发更加模块化和可维护。 2. Struts2 的主要特点有哪些? - 基于 MVC 设计模式,使代码更加清晰和可维护。 - 提供了丰富的标签库和表单验证机制,简化了前端开发。 - 支持国际化和本地化,方便开发多语言应用。 - 提供了拦截器机制,可以对请求进行预处理和后处理。 - 支持 RESTful 风格的 URL 映射。 3. Struts2 的工作原理是什么? 当用户发送请求时,Struts2 的前端控制器(DispatcherServlet)接收到请求并将其分发给相应的 Action 类。Action 类处理请求并生成响应结果,然后将结果返回给前端控制器。前端控制器再将结果发送给视图层进行展示。 4. Struts2 中的拦截器是什么?有什么作用? 拦截器是 Struts2 中的一个重要组件,它可以在请求被处理前后进行预处理和后处理。拦截器可以用于实现身份验证、日志记录、性能监控等功能,提高应用程序的安全性和可维护性。 5. Struts2 中的常用标签有哪些? Struts2 提供了丰富的标签库,用于简化前端开发。常用的标签有: - `<s:form>`:用于生成表单。 - `<s:textfield>`:用于生成文本输入框。 - `<s:select>`:用于生成下拉列表。 - `<s:checkbox>`:用于生成复选框。 - `<s:submit>`:用于生成提交按钮。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值