IHP框架如何调整控制器页面路由为/Temperature前缀路径
实现方法
你只需要做两处核心修改,就能给TemperatureController的所有路由统一加上/Temperature前缀:
- 修改控制器路由挂载配置
找到FrontController实例的controllers配置项,把原来的parseRoute @TemperatureController替换为mountController挂载方式,指定统一前缀:
instance FrontController WebApplication where controllers = [ mountController @TemperatureController "/Temperature" ]
mountController是IHP提供的路由工具,会自动给目标控制器下的所有AutoRoute路由加上你指定的前缀,不需要修改原有控制器的Action定义。
- 更新表单的提交路径
原来的表单提交地址是根路径下的/Result,现在需要对应到新的前缀路径,你可以直接修改FormAction里的form标签:
<form action="/Temperature/Result" method="post"> <label>Farenheit</label> <input type="text" name="farenheit"/> </form>
更推荐的写法是用IHP内置的
pathTo函数自动生成路径,不需要硬编码地址:<form action={pathTo ResultAction} method="post">这种写法后续不管你怎么调整控制器的路由前缀,
pathTo都会自动生成正确的提交地址,不需要手动修改。
修改完成后重启应用,就能通过/Temperature/Form访问表单页,提交后也会自动跳转到/Temperature/Result展示转换结果。
内容的提问来源于stack exchange,提问作者dharmatech
相关产品推荐
相关产品推荐

