1,java类
public class TSNameAction extends ActionSupport{
public Map IDname;public String execute() throws Exception {
T_SessionService ps = ServiceFactory.getServiceInstance();
List all = ps.queryAllTSession();
IDname = new HashMap();
for(int i=0;i<all.size();i++) {
T_Session user = (T_Session)all.get(i);
IDname.put(user.getSessionid(), user.getSessionname());
}
ServletActionContext.getRequest().setAttribute("CMIDName", IDname);
return "success";
}
public void setIDName(Map IDname){
this.IDname = IDname;
}
public Map getIDName(){
return IDname;
}
}2,jsp中,下拉框已经给赋值了,但是如何取出来?
<s:action name="T_SessionName" executeResult="true"></s:action>
<s:form action="T_SControlState" executeResult="true">
<s:select
name="ts"
label="仿真试验盘"
list="#request.CMIDName"
listKey="key"
listValue="value">
</s:select>
<s:submit value="更新"></s:submit> //运行的是T_SessionName.action
<a href="http://localhost:8082/struct2/casemanager/T_SControlState.action">开始</a>//这个T_SControlState.action得到的ID为null
</s:form> 3,struct.XML
<action name="T_SessionName" class="casemanager.TSePeriod.action.TSNameAction">
<result name="success"></result>
</action>
<action name="T_SControlState" class="casemanager.TSession.action.ControlStateAction">
<!-- 定义处理结果与视图资源之间的关系-->
<result name="success"></result>
</action>
4,需要选中select标签的类
public class ControlStateAction extends ActionSupport{
private String sessionid;
private String ts;
public String getTs() {
return ts;
}
public void setTs(String ts) {
this.ts = ts;
}
public String getSessionid() {
return sessionid;
}
public void setSessionid(String sessionid) {
this.sessionid = sessionid.trim();
}
public String execute() throws Exception {
T_SessionService ps = ServiceFactory.getServiceInstance();
T_Session p = new T_Session();
p.setSessionid(sessionid);
System.out.print("8899=="+ts+" id="+sessionid);
ps.updateTSession(p);
return SUCCESS;
}
}
public class TSNameAction extends ActionSupport{
public Map IDname;public String execute() throws Exception {
T_SessionService ps = ServiceFactory.getServiceInstance();
List all = ps.queryAllTSession();
IDname = new HashMap();
for(int i=0;i<all.size();i++) {
T_Session user = (T_Session)all.get(i);
IDname.put(user.getSessionid(), user.getSessionname());
}
ServletActionContext.getRequest().setAttribute("CMIDName", IDname);
return "success";
}
public void setIDName(Map IDname){
this.IDname = IDname;
}
public Map getIDName(){
return IDname;
}
}2,jsp中,下拉框已经给赋值了,但是如何取出来?
<s:action name="T_SessionName" executeResult="true"></s:action>
<s:form action="T_SControlState" executeResult="true">
<s:select
name="ts"
label="仿真试验盘"
list="#request.CMIDName"
listKey="key"
listValue="value">
</s:select>
<s:submit value="更新"></s:submit> //运行的是T_SessionName.action
<a href="http://localhost:8082/struct2/casemanager/T_SControlState.action">开始</a>//这个T_SControlState.action得到的ID为null
</s:form> 3,struct.XML
<action name="T_SessionName" class="casemanager.TSePeriod.action.TSNameAction">
<result name="success"></result>
</action>
<action name="T_SControlState" class="casemanager.TSession.action.ControlStateAction">
<!-- 定义处理结果与视图资源之间的关系-->
<result name="success"></result>
</action>
4,需要选中select标签的类
public class ControlStateAction extends ActionSupport{
private String sessionid;
private String ts;
public String getTs() {
return ts;
}
public void setTs(String ts) {
this.ts = ts;
}
public String getSessionid() {
return sessionid;
}
public void setSessionid(String sessionid) {
this.sessionid = sessionid.trim();
}
public String execute() throws Exception {
T_SessionService ps = ServiceFactory.getServiceInstance();
T_Session p = new T_Session();
p.setSessionid(sessionid);
System.out.print("8899=="+ts+" id="+sessionid);
ps.updateTSession(p);
return SUCCESS;
}
}
var objConfid =document.getElementsByName("confid");
var confid="";
for (i=0;i<objConfid.length;i++)
{
if (objConfid[i].checked)
{
confid = objConfid[i].value;
objConfid[i].checked="true";
}
}
<script language="javascript">
function onsubmit(){
form.action="http://localhost:8082/struct2/casemanager/T_SControlState.action";
form.submit();
}
<script>
<script language="javascript">
function onsubmit(){
form.action="http://localhost:8082/struct2/casemanager/T_SControlState.action";
form.submit();
}
</script>
<body>
<a href="http://localhost:8082/struct2/casemanager/T_SControlState.action" onclick="onsubmit()">开始</a>
<form id="form1" name="form1" method="post" action="">
<s:action name="T_SessionName" executeResult="true"></s:action>
<s:select
name="ts"
label="仿真试验盘"
list="#request.CMIDName"
listKey="key"
listValue="value"
onchange="selectMode(this.options.selectedIndex)">
</s:select>
<script language="javascript">
function selectMode(){
var objConfid =document.getElementsByName("ts");
var confid="";
for (i=0;i<objConfid.length;i++){
if (objConfid[i].checked){
confid = objConfid[i].value;
objConfid[i].checked="true";
}
}
alert(confid);
}
</script>
</form>
2 特殊标签,如struts的html:select标签,后台ActionForm已经绑定了该字段的值,不用自己关心
3 自定义标签,类似struts的标签。也可以用js获取后填到url
function onsubmit(){
var objConfid =document.getElementsByName("ts");
var confid="";
for (i=0;i<objConfid.length;i++){
if (objConfid[i].checked){
confid = objConfid[i].value;
objConfid[i].checked="true";
}
}
alert(confid);
form.action="http://localhost:8082/struct2/casemanager/T_SControlState.action";
form.submit();
}你把你的select弄几个选项出来,这个方法肯定能得到你选的那个值。
for (i=0;i<objConfid.length;i++){
alert(objConfid[i]);
if (objConfid[i].checked){
confid = objConfid[i].value;
alert(confid);
objConfid[i].checked="true";
}
}
<script language="javascript">
function onsubmit(){
var objConfid =document.getElementsByName("ts");
var confid="";
for (i=0;i<objConfid.length;i++){
confid = objConfid[i].value;
alert(confid);
objConfid[i].checked="true";
}
document.form1.action="http://localhost:8082/struct2/casemanager/T_SControlState.action?sessionid="+confid;
document.form1.submit();
}
</script><input value="kaishi" type=button onclick="onsubmit()"></input>
<form id="form1" name="form1" method="post" action="">
<s:select name="ts"