javascript可以 提交jsf 吗?

时间:2022-08-27 07:52:54
现在做个东西 ,多个应用登录合并到一个成一个应用。
有个登录是jsf 的代码如下 。
<h:form id="id0" rendered="true">
<table width="611"  border="0" align="center" cellpadding=0 cellspacing=0>
   <tr height="90">
     <td colspan="3"></td>
   </tr>
   <tr>
     <td colspan="3"><div align="center"><img src="<%=path%>/images/welcome_frame.gif"/></div></td>
   </tr>
   <tr  height="33" valign="center" >
     <td background="<%=path%>/images/bkcolor.gif">
     <div align="center">
     <h:outputText   value="#{msgs.namePrompt}" styleClass="loginOutput"/> 
<h:inputText id="name" value="#{backingBean.name}" binding="#{backingBean.nameInput}" required="true" styleClass="loginInput">

</h:inputText>

</div>
</td>
    <td background="<%=path%>/images/bkcolor.gif">
    <div align="center">
     <h:outputText value="#{msgs.passwordPromt}" styleClass="loginOutput"/> 

<h:inputSecret  id="password"  value="#{backingBean.password}" binding="#{backingBean.passwordInput}" validator="#{backingBean.validateLogin}" rendered="true" required="true" styleClass="loginInput">

</h:inputSecret>

     
</div>
</td>
    <td background="<%=path%>/images/bkcolor.gif">
    <div align="center">
<h:commandButton value=" #{msgs.login} " styleClass="loginButton" rendered="true" action="#{backingBean.login}"/>
</div>
    </td>
  </tr>
  <tr>
   <td background="<%=path%>/images/bkcolor.gif">
   <div align="center">
   <h:message for="name" styleClass="loginOutput"/>
   </div>
   </td>
     <td colspan="2" background="<%=path%>/images/bkcolor.gif">     
     <div align="center">
     <h:message for="password" styleClass="loginOutput"/>
     </div>
     </td>
     </tr>
</table>
</h:form>
我现在想了一个简单的办法。这个登录由 javascript 自动提交。不知道js 怎么写能提交 这个jsf ?
还有自动提交的前,我要把name 和password的值 自动 填上。 name 和password 是通过url 传递参数的形式 传递到这个页面的。我怎么能让  value="#{backingBean.name}" 有值? 后台有backingBean 里面setName(String name)和setNameInput(UIInput newValue) 
以前没弄过jsf 只能到看懂的程度。希望那位jsf 高手指点下


--------------------------------------------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【lioushuei】截止到2008-08-05 08:20:05的历史汇总数据(不包括此帖):
发帖的总数量:31                       发帖的总分数:555                      每贴平均分数:17                       
回帖的总数量:83                       得分贴总数量:33                       回帖的得分率:39%                      
结贴的总数量:31                       结贴的总分数:555                      
无满意结贴数:9                        无满意结贴分:290                      
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:100.00%               结分的百分比:100.00%                  
无满意结贴率:29.03 %               无满意结分率:52.25 %                  
敬礼!javascript可以 提交jsf 吗?

取消马甲机器人,请点这里: http://www.java2000.net/mycsdn/robotStop.jsp?usern=lioushuei

8 个解决方案

#1


我现在很无赖的乱试 
  <%
  String username=request.getParameter("username")==null?"":request.getParameter("username").toString();
  String password=request.getParameter("password")==null?"":request.getParameter("username").toString();
  
  BackingBean backbean=new BackingBean();
backbean.setName(username);
backbean.setPassword(password);

   %>
这样name和password 值出不来啊 、、、、、、。。
那位指点下?

#2


其實可以用js提交到一個Servlet,然后再Servlet中可以通過request.getSession().getAttribute("backingBean")得到MBean對象,然后就可以通過set方法修改它的屬性及調用方法了。

#3


楼上的,我是 直接url 链接到这这个登录页面,还没有backingBean 呢 。怎么用request.getSession().getAttribute("backingBean")得到mbean???
我现在 只能得到通过参数得到用户名和密码。
是我没看懂你的意思?

#4


我现在可以通过 js提交 jsf 的 form了。
现在就一个问题了: 我ulr 传递过来的参数login.jsf?name="user1"&password="123456" 
怎么能  在我js 提交 form 前 让jsf 页面上的name  和 password 有值?
会jsf 的因该很简单吧? 因为要是jsp 这个很简单。。。
哪位帮我下。。。

#5


学习  学习

#6


不太理解樓主login.jsf這個頁面是否還需要User去點擊,如果需要點擊的話可以在jsf按鈕添加onclick="return XXX();"的方法處理,在JS代碼中將URL中傳來的參數寫到name和password輸入框中,jsf中控件生成的客戶端ID為整個控件嵌套的全名稱,比如:view1:form1:txtName,設置值這後提交應該就可以了。
如果是自動提交的話應該也可以在提交前將值寫到輸入框中的。

#7



如果想要获取URL里的值然后在FORM提交之前把值设置到FORM中 可以通过JS来实现。

页面加载时执行JS函数获取URL中的值然后 $('valueId').value = value;

这样在FORM提交时就可以得到值。。

没怎么看明白搂主的意思,以上仅属个人想法,仅供参考。

#8


我用js  提交  这个jsf 的表单 好像不行 , 我是这样的 document.id0.submit();
好像他就刷新了下,并没有提交 。。。。。。 怎么回事? 那位告诉用js 怎么提交上面那个jsf?

#1


我现在很无赖的乱试 
  <%
  String username=request.getParameter("username")==null?"":request.getParameter("username").toString();
  String password=request.getParameter("password")==null?"":request.getParameter("username").toString();
  
  BackingBean backbean=new BackingBean();
backbean.setName(username);
backbean.setPassword(password);

   %>
这样name和password 值出不来啊 、、、、、、。。
那位指点下?

#2


其實可以用js提交到一個Servlet,然后再Servlet中可以通過request.getSession().getAttribute("backingBean")得到MBean對象,然后就可以通過set方法修改它的屬性及調用方法了。

#3


楼上的,我是 直接url 链接到这这个登录页面,还没有backingBean 呢 。怎么用request.getSession().getAttribute("backingBean")得到mbean???
我现在 只能得到通过参数得到用户名和密码。
是我没看懂你的意思?

#4


我现在可以通过 js提交 jsf 的 form了。
现在就一个问题了: 我ulr 传递过来的参数login.jsf?name="user1"&password="123456" 
怎么能  在我js 提交 form 前 让jsf 页面上的name  和 password 有值?
会jsf 的因该很简单吧? 因为要是jsp 这个很简单。。。
哪位帮我下。。。

#5


学习  学习

#6


不太理解樓主login.jsf這個頁面是否還需要User去點擊,如果需要點擊的話可以在jsf按鈕添加onclick="return XXX();"的方法處理,在JS代碼中將URL中傳來的參數寫到name和password輸入框中,jsf中控件生成的客戶端ID為整個控件嵌套的全名稱,比如:view1:form1:txtName,設置值這後提交應該就可以了。
如果是自動提交的話應該也可以在提交前將值寫到輸入框中的。

#7



如果想要获取URL里的值然后在FORM提交之前把值设置到FORM中 可以通过JS来实现。

页面加载时执行JS函数获取URL中的值然后 $('valueId').value = value;

这样在FORM提交时就可以得到值。。

没怎么看明白搂主的意思,以上仅属个人想法,仅供参考。

#8


我用js  提交  这个jsf 的表单 好像不行 , 我是这样的 document.id0.submit();
好像他就刷新了下,并没有提交 。。。。。。 怎么回事? 那位告诉用js 怎么提交上面那个jsf?