Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Lift框架获取从代码段传递的HTML页面中的参数_Html_Web Applications_Lift - Fatal编程技术网

如何使用Lift框架获取从代码段传递的HTML页面中的参数

如何使用Lift框架获取从代码段传递的HTML页面中的参数,html,web-applications,lift,Html,Web Applications,Lift,我想开发一个Lift web应用程序,我有一个索引页,其中包含以下内容: <div id="main" class="lift:surround?with=default&at=content"> <div> App </div> <div> <form method="post" class="lift:DumbForm"> <table> <tr>

我想开发一个Lift web应用程序,我有一个索引页,其中包含以下内容:

<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" class="lift:DumbForm">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>

应用程序
电邮:
密码:
姓名:
使用相应的代码段(文件“DumbForm.scala”):

包代码
包片段
导入net.liftweb_
导入http_
导入scala.xml.NodeSeq
/**
*获取查询参数的代码段
*从表单发布并处理它们
*/
对象哑铃形式{
def render(in:NodeSeq):NodeSeq={
//使用Scala进行理解,以评估每个参数
为了{

r要执行您希望执行的操作,您只需将表单直接指向
hello.html
装载的位置。我假设它位于同一路径中的
hello

dumbform.html

<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" action="hello">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>
<div data-lift="ShowHelloSnippet">
  <p>Hello <span name="paramname"></span></p>
</div>
<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" data-lift="FormHandlerSnippet">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input id="submitbutton" type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>
<div data-lift="ShowHelloSnippet">
  <p>Hello <span name="paramname"></span></p>
</div>

我认为,更有效的方法是使用Lift的:

dumbform.html

<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" action="hello">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>
<div data-lift="ShowHelloSnippet">
  <p>Hello <span name="paramname"></span></p>
</div>
<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" data-lift="FormHandlerSnippet">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input id="submitbutton" type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>
<div data-lift="ShowHelloSnippet">
  <p>Hello <span name="paramname"></span></p>
</div>
hello.html

<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" action="hello">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>
<div data-lift="ShowHelloSnippet">
  <p>Hello <span name="paramname"></span></p>
</div>
<div id="main" class="lift:surround?with=default&at=content">
  <div> App </div> 
  <div>
    <form method="post" data-lift="FormHandlerSnippet">
       <table>
            <tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
            <tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
            <tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
            <tr><td><input id="submitbutton" type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
        </table>
    </form>
  </div> 
</div>
<div data-lift="ShowHelloSnippet">
  <p>Hello <span name="paramname"></span></p>
</div>

这将使表单在对象上设置值,然后执行有状态重定向,在页面重定向后设置
ShowHelloSnippet
中的值供您使用。作为两者的替代方法,您可以使用Ajax在同一页面上简单地显示值。

我想知道如何使用请求参数设置变量(在代码段中)并在视图中获取此参数(HTML)?!我不知道名称?!我在HTML中有:Hello

和代码段:object DumbForm{def render(in:NodeSeq):NodeSeq={对于{r,render方法有:def render(in:NodeSeq):NodeSeq={for{r除非变量是会话作用域,否则您无法设置变量和重定向。我将更新我的答案,以显示您可以执行我认为您正在尝试执行的操作的一种方式。我用我认为您正在尝试执行的操作的更多内容更新了答案。让我知道这是否适用于您。我将文本替换为密码,如果您看到al,请参阅l可用的输入类型